Ubuntu下Tomcat配置哪些参数
导读:Ubuntu下Tomcat常用配置参数清单 一 环境与运行账户 使用受支持的 JDK 11/17(LTS),通过命令验证:java -version。 创建专用系统用户运行 Tomcat(禁止 root 直跑),如:sudo usera...
Ubuntu下Tomcat常用配置参数清单
一 环境与运行账户
- 使用受支持的 JDK 11/17(LTS),通过命令验证:java -version。
- 创建专用系统用户运行 Tomcat(禁止 root 直跑),如:sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat,并设置目录属主:sudo chown -R tomcat:tomcat /opt/tomcat。
- 配置环境变量(建议写入 /etc/profile.d/tomcat.sh 或 systemd Environment):export CATALINA_HOME=/opt/tomcat;export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64。
二 JVM内存与GC参数
- 推荐在 $CATALINA_HOME/bin/setenv.sh(需自行创建)中设置 JAVA_OPTS;也可写入 systemd 的 Environment=“CATALINA_OPTS=…”。
- 常用参数模板(按实例规格调整):
- 堆大小:export JAVA_OPTS=“-Xms512m -Xmx1024m”(生产建议将 -Xms 与 -Xmx 设为相同,避免运行期扩缩堆带来的抖动;一般不超过物理内存的 70%)。
- 元空间:export JAVA_OPTS=“$JAVA_OPTS -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m”(Java 8+ 使用 Metaspace 替代 PermGen)。
- GC 策略:export JAVA_OPTS=“$JAVA_OPTS -XX:+UseG1GC”(长生命周期服务稳定性更佳;也可用并行 GC 视负载而定)。
- 可选监控:export JAVA_OPTS=“$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9090”(开启 JMX 远程监控,注意安全)。
- 可选 GC 日志:export JAVA_OPTS=“$JAVA_OPTS -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/opt/tomcat/logs/gc.log”。
三 连接器与线程池参数 server.xml
- HTTP/1.1 Connector 常用参数(示例):
- 参数要点:
- maxThreads:最大工作线程数,建议按 CPU 核数×50–100 规划。
- acceptCount:当线程用尽时的连接排队长度,配合业务峰值与下游处理能力设置。
- enableLookups:关闭 DNS 反查,降低延迟。
- URIEncoding:统一 UTF-8,避免中文乱码。
- 如需与反向代理/负载均衡联动,可启用 AJP:。
四 连接与系统资源限制
- Tomcat 层面关键连接参数与系统上限的关系:
- maxConnections:Tomcat 同时接受并处理的最大连接数(NIO/NIO2 默认 10000;APR/native 默认 8192;NIO 可设为 -1 关闭计数)。
- acceptCount:线程耗尽时队列长度(默认 100)。
- OS 层面:内核 somaxconn(/proc/sys/net/core/somaxconn,Ubuntu 常见默认 4096)与文件描述符上限会限制实际可达连接数。
- 经验公式:可建立的总连接数 ≈ maxConnections + 1 + min(acceptCount, somaxconn)。例如 somaxconn=4096、acceptCount=100、maxConnections=10000 时,约为 10401。
- 系统与服务侧建议:
- 提升文件描述符与进程数限制(/etc/security/limits.conf):如 * soft nofile 65535;* hard nofile 65535;并确保 PAM 加载 limits(/etc/pam.d/common-session 增加 session required pam_limits.so)。
- 调整内核网络参数(/etc/sysctl.conf):如 net.core.somaxconn、net.ipv4.ip_local_port_range、net.ipv4.tcp_tw_reuse 等,使之和业务并发目标匹配。
五 安全与运维参数
- 管理接口保护(conf/tomcat-users.xml):仅保留必要角色,使用强密码;对 /manager 与 /host-manager 通过 context.xml 限制来源 IP,例如:
- 。
- 启用 HTTPS(server.xml Connector 8443):
- 证书准备:将 Let’s Encrypt 证书转换为 PKCS12(openssl pkcs12 -export …),在 Connector 中使用 指定 keystoreFile 与 password。
- 文件权限与最小暴露面:目录 750、文件 640,关键目录(如 conf、bin)更严格;禁用或删除默认示例应用与未使用的连接器。
- 服务化与自启(/etc/systemd/system/tomcat.service):Type=forking,User=tomcat,Environment 设置 JAVA_HOME/CATALINA_HOME/CATALINA_BASE,ExecStart/ExecStop 指向 startup.sh/shutdown.sh,并配置 Restart=always 提升可用性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下Tomcat配置哪些参数
本文地址: https://pptw.com/jishu/789638.html
