下载 tomcat.rar 按照 readme.txt 操作即可
版本:tomcat7: 7.0.75
tomcat8: 8.5.11
tomcat9: 9.0.0
首次安装自动下载
开启:service tomcat start
关闭:service tomcat stop
CentOS6也可使用,但不能设置自动启动若要设置,请参考:http://blog.csdn.net/wangfei0904306/article/details/56706489
贴出shell文件:
#!/bin/sh
#关闭进程
killpids(){
pids=($(ps -ef | grep $1 | awk '{print $2}'))
for pid in ${pids[@]}; do
echo "关闭进程: pid ${pid}"
kill -9 ${pid}
done
}
killpids tomcat
#备份和删除旧版tomcat
echo "备份war包"
mv -f /usr/local/apache-tomcat-*/webapps/*.war /usr/tomcat/
echo "备份server.xml"
cp -f /usr/local/apache-tomcat-*/conf/server.xml /usr/tomcat/
echo "删除旧版tomcat"
rm -rf /usr/local/apache-tomcat-*
#install tomcat
srcPath=$(find /usr/tomcat -maxdepth 1 -type f|grep '.*tomcat.*.tar.gz$')
if [[ $srcPath =~ "tomcat" ]]
then
echo "安装包:$srcPath"
rpm -ivh $srcPath
else
#下载tomcat
yum -y install wget
echo -e "Which version do you want? \n1. tomcat-7 \n2. tomcat-8 \n3. tomcat-9"
while(true)
do
read sn
if [[ $sn -eq 1 ]]
then
wget http://tomcat.apache.org/apache/tomcat/tomcat-7/v7.0.75/bin/apache-tomcat-7.0.75.tar.gz -P /usr/tomcat/
break
elif [[ $sn -eq 2 ]]
then
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.11/bin/apache-tomcat-8.5.11.tar.gz -P /usr/tomcat/
break
elif [[ $sn -eq 3 ]]
then
wget http://tomcat.apache.org/apache/tomcat/tomcat-9/v9.0.0.M17/bin/apache-tomcat-9.0.0.M17.tar.gz -P /usr/tomcat/
break
else
echo "$sn is not expected"
fi
done
srcPath=$(find /usr/tomcat -maxdepth 1 -type f|grep '.*tomcat.*.tar.gz$')
fi
#解压
echo "解压..."
cd /usr/local
tar -xf $srcPath
cd /usr/tomcat
path=$(find /usr/local -maxdepth 1 -type d|grep 'apache-tomcat-.*')
dir_name=${path##*/}
echo $path
echo $dir_name
#赋予权限
chmod -R 755 $path
#设置环境变量
sed -i '/CATALINA_HOME/d' /etc/profile
echo "设置环境变量"
echo "export CATALINA_HOME=$path" >> /etc/profile
source /etc/profile
#开机启动
#1.设置pid catalina.sh中添加CATALINA_PID="$CATALINA_BASE/tomcat.pid"
sed -i '/CATALINA_BASE=\"\$CATALINA_HOME\"/a\CATALINA_PID=\"\$CATALINA_BASE\/tomcat.pid\"' $path/bin/catalina.sh
#2.生成tomcat.service文件
rm -rf /usr/lib/systemd/system/tomcat.service
touch /usr/lib/systemd/system/tomcat.service
echo "[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment=\"JAVA_HOME=$JAVA_HOME\"
PIDFile=$path/tomcat.pid
ExecStart=$path/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target" >> /usr/lib/systemd/system/tomcat.service
#3.设置开机启动
systemctl enable tomcat.service
#还原war包
echo "还原war包"
mv -f /usr/tomcat/*.war $path/webapps/
systemctl start tomcat.service
systemctl status tomcat.service