tomcat
1.Apr协议版安装
1.1 基础依赖安装
[root@localhost ~]# yum -y install gcc gcc-c++ libtool* autoconf automake expat-devel perl perl-devel
1.2 安装apr
[root@localhost soft]# tar xf apr-1.6.5.tar.gz
[root@localhost soft]# cd apr-1.6.5
[root@localhost apr-1.6.5]# sed -i "s/RM='\$RM'/RM='\$RM -f'/g" configure
[root@localhost apr-1.6.5]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.6.5]# make
[root@localhost apr-1.6.5]# make install
1.3 安装apr-iconv
[root@localhost soft]# tar xf apr-iconv-1.2.2.tar.gz
[root@localhost soft]# cd apr-iconv-1.2.2
[root@localhost apr-iconv-1.2.2]# ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
[root@localhost apr-iconv-1.2.2]# make
[root@localhost apr-iconv-1.2.2]# make install
1.4 安装apr-util
[root@localhost soft]# tar xf apr-util-1.6.1.tar.gz
[root@localhost soft]# cd apr-util-1.6.1
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
[root@localhost apr-util-1.6.1]# make
[root@localhost apr-util-1.6.1]# make install
1.5 安装OpenSSL
[root@localhost soft]# tar xf openssl-1.1.1l.tar.gz
[root@localhost soft]# cd openssl-1.1.1l
[root@localhost openssl-1.1.1l]# ./config --prefix=/usr/local/openssl
[root@localhost openssl-1.1.1l]# make -j $(grep processor /proc/cpuinfo | wc -l)
[root@localhost openssl-1.1.1l]# make install
1.6 安装JDK
[root@localhost soft]# tar xf jdk-8u171-linux-x64.tar.gz -C /data/
1.7 安装Tomcat
[root@localhost soft]# tar xf apache-tomcat-8.5.35.tar.gz -C /data/
[root@localhost soft]# mv /data/apache-tomcat-8.5.35/ /data/tomcat85
1.8 安装Tomcat-native
[root@localhost soft]# cd /data/tomcat85/bin/
[root@localhost bin]# tar xf tomcat-native.tar.gz
[root@localhost bin]# cd tomcat-native-1.2.18-src/native/
[root@localhost native]# ./configure --with-ssl=/usr/local/openssl -with-apr=/usr/local/apr --with-java-home=/data/jdk1.8.0_171/
[root@localhost native]# make
[root@localhost native]# make install
1.9 设置tomcat启动权限
[root@localhost data]# useradd hanweb
[root@localhost data]# echo hanweb | passwd --stdin hanweb
[root@localhost data]# chown -R hanweb.hanweb /data/tomcat85
1.10 修改tomcat参数
[root@localhost data]# sed -i 's#Connector port="8080" protocol="HTTP/1.1"#Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"#g' /data/tomcat85/conf/server.xml
[root@localhost data]# sed -i 's#Connector port="8009" protocol="AJP/1.3"#Connector port="8009" protocol="org.apache.coyote.ajp.AjpAprProtocol"#g' /data/tomcat85/conf/server.xml
[root@localhost data]# sed -i 's/connectionTimeout="20000"/connectionTimeout="20000"\n\t\tURIEncoding="UTF-8"\n\t\tmaxThreads="600"\n\t\tminSpareThreads="100"\n\t\tmaxSpareThreads="500"\n\t\tacceptCount="700"\n\t\tenableLookups="false"/g' /data/tomcat85/conf/server.xml
1.11 修改catalina.out
[root@localhost data]# sed -i '2a JAVA_OPTS=\"-server -Xmx2g -Xms1g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1024m -Djava.awt.headless=true\" \n ' /data/tomcat85/bin/catalina.sh
sed -i '3a CATALINA_OPTS="-Dfile.encoding=UTF-8" \n ' /data/tomcat85/bin/catalina.sh
sed -i "4a export JAVA_HOME=/data/jdk1.8.0_171 \n" /data/tomcat85/bin/catalina.sh
sed -i "5a export PATH=$PATH:$JAVA_HOME/bin \n" /data/tomcat85/bin/catalina.sh
sed -i "6a export LD_LIBRARY_PATH=/usr/local/apr/lib:$LD_LIBRARY_PATH" /data/tomcat85/bin/catalina.sh
1.12 添加重启脚本
[root@localhost ~]# vi /data/tomcat85/bin/restart.sh
#!/bin/bash
# Date:2023-1-9
# Author:lixuehuan
# Version:1.0
# 路径
App_Path=$(cd `dirname $0`;pwd)
# 获取Old_PID
PID=`ps -ef|grep java|grep -v grep|grep $App_Path |awk '{print $2}'`
function RESTART() {
echo -e "\033[35m Tomcat restarting! \033[0m"
if [[ -n $PID ]];then
echo -e "\033[35m Stop App! \033[0m"
kill -9 $PID
sleep 5
echo -e "\033[35m Start clearing the cache! \033[0m"
rm -rf ${App_Path}/../work/Catalina
sleep 3
echo -e "\033[35m Start App! \033[0m"
${App_Path}/startup.sh 2>&1 >/dev/null
New_PID=`ps -ef|grep java|grep -v grep|grep $App_Path |awk '{print $2}'`
echo -e "\033[35m Application startup completed,New PID is ${New_PID} \033[0m"
else
echo -e "\033[32m There are no running processes \033[0m"
echo -e "\033[35m Start clearing the cache! \033[0m"
rm -rf ${App_Path}/../work/Catalina
echo -e "\033[35m Start App! \033[0m"
${App_Path}/startup.sh 2>&1 >/dev/null
New_PID=`ps -ef|grep java|grep -v grep|grep $App_Path |awk '{print $2}'`
sleep 10
echo -e "\033[35m Application startup completed,New PID is ${New_PID} \033[0m"
fi
exit
}
RESTART
[root@localhost ~]# chown hanweb.hanweb /data/tomcat85/bin/restart.sh
[root@localhost ~]# chmod 750 /data/tomcat85/bin/restart.sh
[root@localhost ~]# vi /data/tomcat85/bin/stop.sh
#!/bin/bash
# Date:2023-1-9
# Author:lixuehuan
# Version:1.0
# 路径
App_Path=$(cd `dirname $0`;pwd)
# 获取PID
PID=`ps -ef|grep java|grep -v grep|grep $App_Path |awk '{print $2}'`
function STOP(){
kill -9 $PID
}
# 执行杀死进程
STOP
[root@localhost ~]# chown hanweb.hanweb /data/tomcat85/bin/stop.sh
[root@localhost ~]# chmod 750 /data/tomcat85/bin/restart.sh
2.普通安装
2.1 解压jdk
[root@localhost ~]# tar xf jdk-8u221-linux-x64.tar.gz -C /data/
2.2 解压tomcat
[root@localhost ~]# tar xf apache-tomcat-8.5.89.tar.gz -C /data/
[root@localhost ~]# mv apache-tomcat-8.5.89/ tomcat85
2.3 配置参数与启动
useradd tomcat ;echo tomcat |passwd --stdin tomcat
chown -R tomcat.tomcat /data/tomcat85/
vim /data/tomcat85/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
maxConnections="1000"
maxThreads="1000"
minSpareThreads="100"
processorCache="1000"
acceptCount="1000"
/>
vim /etc/profile
JAVA_HOME=/data/jdk1.8.0_171
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
source /etc/profile
/
3. tomcat小版本升级
# 1.停止旧版本tomcat
# 2.备份旧版本lib
[root@localhost ~]# mv /data/tomcat85/lib /data/tomcat85/lib_bak
# 2.解压新版本tomcat
[root@localhost ~]# tar xf apache-tomcat-8.5.90.tar.gz
# 3.将新版本lib移动到老版本路径下
[root@localhost soft]# cd apache-tomcat-8.5.90/
[root@localhost apache-tomcat-8.5.90]# mv lib/ /data/tomcat85/
# 4.赋权
[root@localhost tomcat85]# chown -R hanweb.hanweb lib
# 5.重启