阅读量:2
在 CentOS 上修改 Tomcat 配置的实用步骤
一 准备与定位配置文件
- 确认 JDK 已安装:
java -version,如未安装可执行:sudo yum install java-1.8.0-openjdk-devel -y。 - 进入 Tomcat 安装目录(示例为 /opt/tomcat),主要配置文件位于 conf/ 下:
- server.xml:连接器端口、线程池、Host、SSL 等核心配置
- web.xml:应用与容器的默认行为(如目录浏览)
- context.xml:数据源、资源等上下文配置
- tomcat-users.xml:管理用户与角色
- 建议以专用系统用户运行 Tomcat(非 root),便于安全与运维。
二 常见配置修改与示例
- 修改 HTTP 端口(避免与已有服务冲突)
编辑 conf/server.xml,将改为如 8081:
保存后重启 Tomcat 生效。 - 同时运行多个 Tomcat 实例
需确保三个端口均不冲突:HTTP 端口(默认 8080)、SHUTDOWN 端口(默认 8005)、AJP 端口(默认 8009)。示例:
分别修改为未被占用的端口后重启各实例。 - 字符编码与超时
在上添加或调整: - URIEncoding=“UTF-8”(统一 GET/POST 编码,避免中文乱码)
- connectionTimeout(连接超时,单位毫秒)
示例:
- 线程池与连接器(提升并发与性能)
使用共享线程池并启用 NIO/NIO2: - JVM 内存与 GC(在 $CATALINA_HOME/bin/catalina.sh 或 systemd 的 CATALINA_OPTS/JAVA_OPTS 中设置)
示例:
修改后重启使其生效。CATALINA_OPTS="-Xms512M -Xmx1024M -server -XX:+UseG1GC" JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8"
三 防火墙与端口放行
- 如果使用 firewalld(CentOS 7/8 常用):
如启用 HTTPS/8443,同样放行对应端口。修改端口后务必同步更新防火墙规则。sudo firewall-cmd --zone=public --add-port=8081/tcp --permanent sudo firewall-cmd --reload
四 以 Systemd 管理并验证
- 创建服务文件 /etc/systemd/system/tomcat.service(示例):
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_BASE=/opt/tomcat" Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseG1GC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Dfile.encoding=UTF-8' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target - 重载并启用:
sudo systemctl daemon-reload sudo systemctl enable tomcat sudo systemctl start tomcat sudo systemctl status tomcat - 验证端口监听:
访问 http://服务器IP:新端口/ 确认应用可达。ss -lntp | grep 8081
五 安全加固要点
- 禁止目录列表:编辑 conf/web.xml,将
listings 的值设为 false。 - 运行身份:创建 tomcat 系统用户,服务以该用户运行,避免使用 root。
- 隐藏版本信息:在 Connector 上设置 server=“MyTomcatServer”,并视需要定制版本信息显示。
- 管理应用访问控制:按需保留或移除 webapps/manager、host-manager,并在 tomcat-users.xml 中严格配置角色与密码。
- 启用 HTTPS/TLS:在 server.xml 配置 8443/9443 连接器与证书,强制敏感数据走加密通道。
以上就是关于“怎样修改centos上的tomcat配置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm