«
tomcat安装脚本

时间:2022-6-12     作者:李泽信     分类: shell


#!/bin/bash

echo "此脚本用于安装tomcat中间件"
if [[ $UID -ne 0 ]];then
    echo "错误:使用root 执行此脚本"
    exit 1
fi

#定义安装文件路径
installpath=/data/soft/tomcat/
#开始菜单,界面输入参数
read -p "请输入tomcat安装目录名(如:/data/tomcat8-public):" tomcatpath
echo -e "tomcat部署路径:$tomcatpath\n"
read -p "请输入tomcat启动的用户(如:hanweb,需要自行创建系统账号):" username
useradd $username
echo -e "用户权限为:$username账号\n"
read -p "请输入JDK安装路径(如:/data/jdk1.8):" jdkpath
echo -e "JDK部署路径:$jdkpath\n"
read -p "请按[Enter]键开始安装redis程序" een

#清理目录及进程
rm -f /var/run/yum.pid
rm -rf /data/soft/tomcat/tempfile
rm -rf /data/cronolog
rm -rf $tomcatpath
rm -rf $jdkpath
echo "清理环境"
#1、以下为Yum 安装依赖包
echo -e "\n\n\n Yum 安装依赖包"

yum install -y mpfr cpp ppl cloog-ppl libstdc++-devel gcc gcc-c++ zlib-devel

echo -e "\n\n\n Yum 安装依赖包完成"

sleep 5

#2、以下为安装JDK
chown -R $username:$username /data/soft/tomcat/
echo -e "\n\n\n安装JDK"
chown -R $username.$username $installpath
sleep 1
cd $installpath
mkdir tempfile
tar xvf jdk*.tar.gz -C tempfile
mv tempfile/jdk* $jdkpath
echo -e "\n\n\n安装JDK完成"

sleep 5
#3、以下为安装TOMCAT中间件
echo -e "\n\n\n安装TOMCAT中间件"
sleep 5
tar zxvf apache-tomcat*.tar.gz -C tempfile
mv tempfile/apache-tomcat* $tomcatpath
echo -e "\n\n\n安装TOMCAT中间件完成"

sleep 5

#4、以下为TOMCAT中间件优化

echo -e "TOMCAT中间件优化"
#server.xml优化
sed -i 's/connectionTimeout="20000"/connectionTimeout="20000"\nURIEncoding="UTF-8"\nmaxThreads="600"\nminSpareThreads="100"\nmaxSpareThreads="500"\nacceptCount="700"\nenableLookups="false"/g' $tomcatpath/conf/server.xml
sed -i 's/<Connector port="8009" protocol="AJP\/1.3" redirectPort="8443" \/>/<!--Connector port="8009" protocol="AJP\/1.3" redirectPort="8443" \/-->/g' $tomcatpath/conf/server.xml
echo -e "\n\n\nserver.xml优化完成"

sleep 3

#安装日志分割工具cronolog
chmod 755 cronolog*.tar.gz
tar zxvf cronolog*.gz -C tempfile
cd tempfile/cronolog*
./configure -prefix=/data/cronolog
make
make install
chown $username.$username /data/cronolog

echo -e "安装日志分割工具cronolog完成"

sleep 5

chmod 755 $installpath*.sh
cp -r $tomcatpath/bin/catalina.sh $tomcatpath/bin/catalina.sh.egg1.0
cp -rf $installpath*.sh $tomcatpath/bin/
sed -i "2a JAVA_OPTS=\"-server -Xmx1g -Xms2g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1024m -Djava.awt.headless=true\" \n JAVA_OPTS=\"$JAVA_OPTS -verbose:gc -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintAdaptiveSizePolicy -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:MaxTenuringThreshold=5 -XX:SurvivorRatio=4\" \n export JAVA_HOME=$jdkpath " $tomcatpath/bin/catalina.sh
echo -e "catalina.sh参数优化完成"

sleep 5

sleep 1
chown -R $username:$username $jdkpath
chown -R $username:$username $tomcatpath
chown -R $username:$username /data/cronolog
echo -e "JDK、TOMCAT、CRONOLOG 配置$username权限完成"
sleep 1
rm -rf $tomcatpath/webapps/*
echo -e "清空webapps目录完成"
sleep 1
echo -e "\n\n\nTOMCAT中间件优化完成"

sleep 5
#tomcat中间件配置apr
echo -e "\n\n\ntomcat中间件配置apr"
cd $installpath
tar zxvf apr-1.*.tar.gz -C tempfile/
cd tempfile/apr-1.*
./configure && make && make install
echo -e "Apr安装完成"

cd $installpath
tar -xzvf apr-util*.tar.gz -C tempfile/
cd tempfile/apr-util*
./configure --with-apr=/usr/local/apr && make && make install
echo -e "Apr-util安装完成"

cd $tomcatpath/bin/
tar -zxvf tomcat-native*.tar.gz
cd tomcat-native*/native
./configure --with-apr=/usr/local/apr  --with-java-home=$jdkpath && make && make install
echo -e "Tomcat-Native完装完成"

sed -i "6a JAVA_OPTS=\"$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib\" \n export LD_LIBRARY_PATH=/usr/local/apr/lib " $tomcatpath/bin/catalina.sh
sed -i 's/ <Connector port="8080" protocol="HTTP\/1.1"/<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"/g' $tomcatpath/conf/server.xml
echo -e "修改server.xml 配置为APR模式完成"

echo -e "\n\n\ntomcat中间件配置aprp完成"

sleep 5
#tomcat自启动添加
echo "#$tomcatpath start" >> /etc/rc.local
echo "su - tomcat" >> /etc/rc.local
echo "$tomcatpath/bin/startup.sh" >> /etc/rc.local
exit
echo -e "\n\n\ntomcat自启动添加完成"

echo -e "\n\n\n脚本执行结束"