centos中tomcat配置需要注意什么
导读:CentOS 上部署与配置 Tomcat 的关键注意事项 一 运行环境与权限 使用受支持的 JDK(如 OpenJDK 8/11/17),先执行 java -version 校验;安装可用 sudo yum install java-1....
CentOS 上部署与配置 Tomcat 的关键注意事项
一 运行环境与权限
- 使用受支持的 JDK(如 OpenJDK 8/11/17),先执行
java -version校验;安装可用sudo yum install java-1.8.0-openjdk-devel。 - 创建专用系统用户(如 tomcat)运行 Tomcat,避免使用 root:
sudo useradd -r -s /sbin/nologin tomcat,并将 CATALINA_HOME 目录属主设为该用户。 - 建议通过 systemd 托管:
/etc/systemd/system/tomcat.service中设置User=tomcat、Group=tomcat、Environment=JAVA_HOME=...、Environment=CATALINA_HOME=...、ExecStart=/opt/tomcat/bin/startup.sh、ExecStop=/opt/tomcat/bin/shutdown.sh,然后systemctl daemon-reload & & systemctl enable --now tomcat。 - 开放防火墙端口(若使用 firewalld):
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp & & sudo firewall-cmd --reload;生产环境优先使用 HTTPS/8443。
二 安全加固
- 删除或禁用默认应用与示例:webapps/docs、examples、host-manager、manager、ROOT;必要时仅保留业务应用。
- 禁止目录浏览:在 conf/web.xml 将
< param-name> listings< /param-name>设为 false。 - 隐藏版本与 Banner:在 conf/server.xml 的
< Connector>增加属性server="MyAppServer/1.0";如需进一步隐匿,可修改 catalina.jar 中的 ServerInfo.properties。 - 访问控制:谨慎配置 tomcat-users.xml,仅授予必要角色;生产环境建议禁用或限制管理界面访问。
- 传输安全:配置 HTTPS/TLS(证书、keystore、8443 端口),对外服务强制跳转 HTTPS。
- 运行安全:始终以 非 root 用户运行,遵循最小权限原则;定期更新 CentOS 与 Tomcat 版本与安全补丁。
三 内存与 JVM 调优
- 设置堆与元空间(Java 8+):在 bin/catalina.sh 或新建 bin/setenv.sh 中配置
JAVA_OPTS:-Xms与-Xmx设为相同值(如 -Xms2g -Xmx2g)以避免运行期扩缩堆抖动;- Java 8+ 使用 Metaspace:
-XX:MetaspaceSize=... -XX:MaxMetaspaceSize=...; - 可按需选择 GC(如 G1 或 ParallelGC):
-XX:+UseG1GC或-XX:+UseParallelGC。
- 示例(setenv.sh):
JAVA_OPTS="-Xms2g -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC"
- 重启生效:
systemctl restart tomcat;通过 catalina.out 与 JMX/Prometheus 等确认参数与 GC 行为。
四 连接器与性能
- 线程与协议:在 server.xml 配置 Executor 或直接在 Connector 调整
maxThreads、minSpareThreads、connectionTimeout;协议优先 HTTP/1.1 NIO。 - 启用压缩:在 Connector 中开启
compression="on"、compressableMimeType="text/html,text/xml,text/css,application/javascript"以减少带宽。 - 编码与超时:为 Connector 设置
URIEncoding="UTF-8";合理设置connectionTimeout与keepAliveTimeout以平衡并发与资源占用。 - 部署策略:生产建议关闭自动部署,设置
unpackWARs="false"、autoDeploy="false",改为受控发布流程。
五 部署、监控与维护
- 目录与发布:将应用放入 webapps 或使用外部 docBase;避免上传不可信 WAR;变更通过灰度/蓝绿发布降低风险。
- 日志与审计:关注 catalina.out、localhost_access_log 与业务日志;定期审计异常访问与错误堆栈。
- 监控与告警:结合 jstat -gcutil 、
top/htop与 Prometheus/Grafana/Zabbix 监控 JVM GC、线程、内存、请求耗时 等指标,设置阈值告警。 - 日常维护:定期更新 JDK/Tomcat 与应用依赖;变更前后做回滚预案与压测验证。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos中tomcat配置需要注意什么
本文地址: https://pptw.com/jishu/751992.html
