CentOS 与 Tomcat 的版本选择与兼容性
版本匹配建议
| CentOS 版本 | 推荐 Tomcat 版本 | 说明 |
|---|---|---|
| CentOS 6.x | Tomcat 7.x | 老环境兼容性好,建议仅做存量维护 |
| CentOS 7.x | Tomcat 8.5.x | 生态成熟、资料丰富,适合生产 |
| CentOS 8.x | Tomcat 9.x | 新特性与安全性更好 |
| CentOS Stream 8/9 | Tomcat 9.x(或 10.x) | 关注 JDK 与依赖匹配,建议优先 9.x |
Java 与 Tomcat 的对应关系
java -version 校验。部署与系统配置要点
sudo yum install -y java-1.8.0-openjdk-devel;验证:java -version。wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz && tar -xvzf ... -C /opt。$CATALINA_HOME/bin/startup.sh;验证:访问 http:///etc/systemd/system/tomcat.service,关键项:
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdkEnvironment=CATALINA_HOME=/opt/apache-tomcat-9.0.56ExecStart=/opt/apache-tomcat-9.0.56/bin/startup.shExecStop=/opt/apache-tomcat-9.0.56/bin/shutdown.shUser=tomcat、Group=tomcatsystemctl daemon-reload && systemctl enable --now tomcat。conf/server.xml 的 <Connector port="8080".../> 可改为 80/443;如用 80/443,注意以具备相应能力的用户运行或前置反向代理/负载均衡。firewall-cmd --zone=public --add-port=8080/tcp --permanent && firewall-cmd --reload。性能与安全优化
* soft nofile 65536、* hard nofile 1048576;对 systemd 服务在 [Service] 中设置 LimitNOFILE=... 更稳妥。net.core.somaxconn=8192、net.ipv4.tcp_max_syn_backlog=16384、net.ipv4.ip_local_port_range=1024 65535、net.ipv4.tcp_tw_reuse=1、net.ipv4.tcp_fin_timeout=15。CATALINA_OPTS 或 JAVA_OPTS 中加入 -Djava.security.egd=file:/dev/./urandom 以加速启动。server.xml 配置 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" ...>,证书与密码按实际放置。常见问题与排查
netstat -anptu | grep java;若改用 80/443,确保运行用户具备相应能力或采用前置代理。tail -f $CATALINA_HOME/logs/catalina.out;常见为 JAVA_HOME 未设、端口冲突、权限不足。nofile 限制并检查应用连接泄漏。