温馨提示×

centos里tomcat配置有哪些要点

小樊
59
2025-10-02 19:33:01
栏目: 智能运维

CentOS下Tomcat配置要点

1. Java环境配置

Tomcat依赖Java运行环境,需优先安装JDK。推荐使用OpenJDK 11及以上版本(兼容性更好),通过yum包管理器安装:

sudo yum install java-11-openjdk-devel -y

安装后验证版本:java -version,确保输出包含Java版本信息。配置JAVA_HOME环境变量(编辑/etc/profile,添加export JAVA_HOME=/usr/lib/jvm/java-11-openjdk),并执行source /etc/profile使变量生效。

2. Tomcat安装与基础配置

  • 下载与解压:从Apache Tomcat官网下载稳定版本(如Tomcat 9/10),解压至/opt目录(建议使用非root用户操作):
    wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
    tar -zxvf apache-tomcat-9.0.56.tar.gz -C /opt/
    mv /opt/apache-tomcat-9.0.56 /opt/tomcat
    
  • 设置权限:创建专用用户tomcat(避免以root运行),并设置目录权限:
    sudo groupadd tomcat
    sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
    sudo chown -R tomcat:tomcat /opt/tomcat
    sudo chmod +x /opt/tomcat/bin/*.sh
    
  • 开机自启:创建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-11-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:+UseParallelGC'
    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

3. 防火墙配置

开放Tomcat默认端口(8080),允许外部访问:

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

验证端口开放:sudo firewall-cmd --zone=public --query-port=8080/tcp(返回yes表示成功)。

4. 内存调优

通过调整JVM参数优化Tomcat内存使用,主要修改CATALINA_OPTS(在/etc/systemd/system/tomcat.service/opt/tomcat/bin/catalina.sh中):

  • 堆内存-Xms512M(初始堆大小)、-Xmx1024M(最大堆大小),根据服务器内存调整(建议不超过物理内存的70%);
  • 元空间(Java 8+替代永久代):-XX:MetaspaceSize=256M-XX:MaxMetaspaceSize=512M
  • 垃圾回收-XX:+UseG1GC(启用G1垃圾回收器,适合大内存应用)。
    修改后重启Tomcat使配置生效:sudo systemctl restart tomcat

5. 线程池优化

编辑server.xml(位于/opt/tomcat/conf/),调整<Connector>标签参数,提升并发处理能力:

  • maxThreads:最大线程数(默认200),建议设置为CPU核心数的2-4倍(如4核服务器设置为80-160);
  • minSpareThreads:最小空闲线程数(默认25),设置为maxThreads的10%-20%(如20-40);
  • acceptCount:最大排队请求数(默认100),设置为maxThreads的1.5-2倍(如300);
  • protocol:使用NIO协议(org.apache.coyote.http11.Http11NioProtocol),提升I/O性能。
    示例配置:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
           connectionTimeout="20000"
           redirectPort="8443"
           maxThreads="200"
           minSpareThreads="20"
           acceptCount="300" />

修改后重启Tomcat。

6. 安全配置

  • 删除默认应用:删除webapps目录下的docsexamplesmanager等默认应用(避免潜在安全风险);
  • 隐藏版本信息:编辑server.xml中的<Connector>标签,添加server="Apache"(隐藏Tomcat版本);
  • 禁用AJP协议:若未使用AJP(如反向隧道),注释server.xml中的AJP连接器(<Connector port="8009" protocol="AJP/1.3" ... />)。

7. 日志管理

Tomcat日志位于$CATALINA_HOME/logs目录(如/opt/tomcat/logs),主要包括:

  • catalina.out:标准输出/错误日志(记录应用运行信息);
  • localhost_access_log:访问日志(记录HTTP请求详情)。
    定期检查日志排查问题(如使用tail -f catalina.out实时查看),可通过logrotate工具实现日志轮转(避免日志文件过大)。

0