CentOS环境下Tomcat升级与维护指南
/usr/share/tomcat
)和配置目录(如/etc/tomcat
)到备份路径,避免数据丢失。sudo cp -r /usr/share/tomcat /usr/share/tomcat-backup-$(date +%Y%m%d)
sudo cp -r /etc/tomcat /etc/tomcat-backup-$(date +%Y%m%d)
sudo systemctl stop tomcat
apache-tomcat-9.0.56.tar.gz
)。wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
/usr/share/
)。sudo tar -xvzf apache-tomcat-9.0.56.tar.gz -C /usr/share/
sudo mv /usr/share/tomcat /usr/share/tomcat-old
sudo mv /usr/share/apache-tomcat-9.0.56 /usr/share/tomcat
webapps
(应用目录)、conf
(配置文件)复制到新版本目录,覆盖默认配置。sudo cp -r /usr/share/tomcat-old/webapps /usr/share/tomcat/
sudo cp -r /usr/share/tomcat-old/conf /usr/share/tomcat/
sudo systemctl start tomcat
sudo systemctl enable tomcat
sudo systemctl status tomcat # 查看状态(应为active(running))
curl http://localhost:8080 # 访问默认页面(应显示Tomcat欢迎页)
sudo rm -rf /usr/share/tomcat-old
sudo rm -rf apache-tomcat-9.0.56.tar.gz # 删除下载的压缩包
webapps
目录下的docs
、examples
、host-manager
、manager
等示例应用,减少攻击面。sudo rm -rf /usr/share/tomcat/webapps/docs /usr/share/tomcat/webapps/examples
server.xml
中的Connector
节点,添加server
属性掩盖Tomcat版本。<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
server="MyCustomServer/1.0" />
tomcat-users.xml
中配置强密码,并限制管理角色(如manager-gui
)的IP访问。<role rolename="manager-gui"/>
<user username="admin" password="SecurePass123!" roles="manager-gui"/>
keytool
生成SSL证书,修改server.xml
添加HTTPS连接器(端口8443)。<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" scheme="https" secure="true"
keystoreFile="/etc/pki/tls/certs/tomcat.keystore"
keystorePass="yourKeystorePassword"/>
logs
目录下的catalina.out
(运行日志)、access_log
(访问日志),监控异常请求(如大量404/500错误)。tail -f /usr/share/tomcat/logs/catalina.out # 实时查看运行日志
grep "ERROR" /usr/share/tomcat/logs/catalina.out # 筛选错误日志
server.xml
的Host
节点中,设置autoDeploy="false"
和unpackWARs="false"
,防止恶意WAR文件自动部署。<Host name="localhost" appBase="webapps"
unpackWARs="false" autoDeploy="false">
yum
更新CentOS系统和Tomcat(若使用YUM仓库安装),修复已知漏洞。sudo yum update centos-release-tomcat # 更新Tomcat YUM仓库
sudo yum update tomcat # 更新Tomcat
setenv.sh
(位于bin
目录)中的JAVA_OPTS
,根据服务器内存调整堆大小(如-Xms512M -Xmx1024M
)。echo 'export JAVA_OPTS="-Xms512M -Xmx1024M -server -XX:+UseParallelGC"' | sudo tee /usr/share/tomcat/bin/setenv.sh
sudo chmod +x /usr/share/tomcat/bin/setenv.sh
server.xml
的Connector
节点中,调整maxThreads
(最大线程数,默认200,可根据并发量增大)和minSpareThreads
(最小空闲线程数,默认25)。<Connector port="8080" protocol="HTTP/1.1"
maxThreads="300"
minSpareThreads="50"
... />