以下是优化Debian Tomcat配置的关键技巧,涵盖性能、安全及稳定性等方面:
调整线程池参数
/etc/tomcat*/server.xml
中<Connector>
标签的maxThreads
(最大线程数,建议设为CPU核心数×200)、minSpareThreads
(最小空闲线程数,设为50-100)、acceptCount
(请求队列长度,设为100-200)。protocol="org.apache.coyote.http11.Http11NioProtocol"
,提升并发处理能力。JVM内存调优
catalina.sh
或setenv.sh
,设置JAVA_OPTS
:-Xms512m -Xmx1024m
(初始堆=最大堆,避免动态扩展开销)。-XX:+UseG1GC
(推荐使用G1垃圾回收器,减少GC停顿)。连接器与协议优化
<Connector>
中添加protocol="org.apache.coyote.http2.Http2Protocol"
。<Connector protocol="AJP/1.3">
以减少资源占用。隐藏版本信息
server.xml
中<Server>
标签的server
属性,例如:server="Apache"
,避免暴露Tomcat版本。限制管理界面访问
webapps/manager
和webapps/host-manager
目录,或通过tomcat-users.xml
限制访问IP。8080
改为其他端口)。文件权限控制
tomcat
)对配置文件和日志目录有最小权限,避免使用root
用户运行。内核参数调优
/etc/sysctl.conf
,增加:net.core.somaxconn=65535
(最大连接队列长度)。net.ipv4.tcp_tw_reuse=1
(启用TCP连接复用)。sysctl -p
使配置生效。资源限制调整
/etc/security/limits.conf
,为Tomcat用户设置文件描述符限制:tomcat soft nofile 65536
tomcat hard nofile 65536
。server.xml
的<Connector>
中添加compression="on"
,压缩响应数据减少传输时间。jconsole
或VisualVM
监控JVM内存、线程状态。logging.properties
按天分割日志,避免日志文件过大。注意:所有配置修改后需重启Tomcat生效,建议先在测试环境验证稳定性。
参考来源:[1,2,3,4,6,7,8,9,10,11]