tomcat 在线一键安装

该脚本用于在CentOS7系统上快速安装Tomcat8.5.88,使用国内源加速下载,支持自定义安装路径、端口号和版本。默认安装在/opt目录,端口8080,同时会卸载openjdk并安装oracle-jdk。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        说明:tomcat一键在线安装脚本,默认使用国内源下载,下载速度极快,默认安装在/opt 目录,默认安装端口为 8080,安装的默认版是 apache-tomcat-8.5.88.tar.gz 。

        1、可自定义tomcat版本安

        2、可自定义tomcat安装路径

        3、可自定义tomcat 端口号

        2、卸载Linux自带的openjdk,安装oracle-jdk

#!/bin/bash

# create by tudou
# 2023-04-26

set -e

  # 用户自定义信息

  # 默认安装路径 
  # install_root=/opt
  
  # 默认端口
  # tomcat_port=8080
 
  # 默认下载地址(包括版本号)
  # download_url="https://repo.huaweicloud.com/apache/tomcat/tomcat-8/v8.5.88/bin/apache-tomcat-8.5.88.tar.gz"
  # download_url=https://repo.huaweicloud.com/apache/tomcat/tomcat-8/v8.5.56/bin/apache-tomcat-8.5.56.tar.gz
  # tomcat 版本信息,请参考华为云: https://repo.huaweicloud.com/apache/tomcat/


# 确认是 Centos7 系统,并且是 root 用户;否则退出安装
check(){
  # 确认是 Centos7 系统
  systemver=`cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'`
  echo $systemver
   
  if [[ $systemver != "7" ]];then
      echo "请在Centos7系统执行脚本,请检查系统版本,终止作业"
      exit 1
  fi
  
  # 确认执行用户是 root
  if [[ $(id -u --name) != "root" ]];then
      echo "请使用 root 用户登录,执行脚本;请检查执行用户,终止作业"
      exit 1
  fi

  # 已运行 catalina ,则退出安装
  if [[ `ps -ef |grep catalina |wc -l` -ge 2 ]];then
    echo "已有运行的 catalina,将退出安装"
    exit 1
  fi
}

# 安装 oracle-jdk
Instlljdk(){
  if [[ `rpm -qa|grep -i openjdk` -ge 2 ]];then
     rpm -qa|grep -i openjdk|xargs rpm -e --nodeps
  fi
  which java || rpm -Uvh  https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.rpm
  # yum install -y https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.rpm
}

# 安装 tomcat
Installtomcat(){

  # 不存在安装目录,则新建
  if [ -z ${install_root} ];then
      install_root=/opt
     else
      install_root=${install_root}
  fi
  if [ ! -d ${install_root} ];then
      mkdir -p ${install_root}
  fi

  # 若tomcat 下载链接为空,则下载默认版本安装
  if [ -z ${download_url} ];then
      download_url="https://repo.huaweicloud.com/apache/tomcat/tomcat-8/v8.5.88/bin/apache-tomcat-8.5.88.tar.gz"
    else
      download_url=${download_url}
  fi

  which wget || yum install -y wget

  if [ ! -d temp ];then
      mkdir -p temp
  fi

  # 下载 tomcat
  tomcat_version=$(basename ${download_url})
  if [ ! -e temp/${tomcat_version} ];then
      wget ${download_url} -P temp 
  fi
  
  # 若存在旧文件,则备份,若是链接,直接删除
  if [ -L ${install_root}/${tomcat_version%.tar.gz} ];then
      rm -rvf ${install_root}/${tomcat_version%.tar.gz} 
  fi
  if [ -L ${install_root}/tomcat ];then
      rm -rvf ${install_root}/tomcat 
  fi

  if [ -d ${install_root}/${tomcat_version%.tar.gz} ];then
      mv -f ${install_root}/${tomcat_version%.tar.gz}  ${install_root}/${tomcat_version%.tar.gz}-$(date +%Y%m%d%H%M%S)
  fi
  if [ -d ${install_root}/tomcat ];then
      mv -f ${install_root}/tomcat ${install_root}/tomcat-$(date +%Y%m%d%H%M%S)
  fi
   
  # 解压
  tar -xvf temp/${tomcat_version} -C ${install_root}
  ln -s ${install_root}/${tomcat_version%.tar.gz} ${install_root}/tomcat
  
  # 不指定端口,则默认使用端口: 8080
  if [ -z ${tomcat_port} ];then
      tomcat_port=8080
    else
     tomcat_port=${tomcat_port}
  fi
  sed -ir "s/${tomcat_port}/8080/g" ${install_root}/${tomcat_version%.tar*}/conf/server.xml
  
  # 启动 tomcat 
  ${install_root}/${tomcat_version%.tar.gz}/bin/startup.sh
  
}

Tomcatinfo(){
   # 检查 tomcat 是否启动成功
   if [[ `ps -ef |grep catalina |wc -l` -ge 2 ]];then
       echo "catalina is running..."
       tomcat_status="catalina is running..."
     else
       echo "catalina is stoped ..."
       echo "please check your tomcat ..."
       tomcat_status="catalina is stoped ..."
   fi
   
   which ifconfig || yum install -y net-tools
   which tee      || yum install -y tee

   echo "tomcat info: " | tee  temp/install.log

   # 默认获取服务器第一个网卡的IP
   HostIP=`ifconfig |grep inet|grep -oP "\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3}"| grep -vE "127.0.0.1|^255"|head -n 1`
   echo "HostIP: ${HostIP}"| tee -a temp/install.log 

   echo "tomcat_port:    ${tomcat_port} "  | tee -a  temp/install.log
   echo "install_root:   ${install_root} " | tee -a  temp/install.log
   echo "tomcat_home:    ${install_root}/${tomcat_version%.tar*} " |tee -a  temp/install.log
   echo "tomcat_version: ${tomcat_version} " | tee -a  temp/install.log
   echo "tomcat_status:  ${tomcat_status}" | tee -a  temp/install.log
   echo "java_version:   1.8.0_202 "

   # 输出 tomcat 安装信息
   echo -e "\e[33m"
   cat temp/install.log
   echo -e "\e[0m"
}

# 执行脚本
# check
Instlljdk
Installtomcat
Tomcatinfo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值