CentOS作为一个稳定可靠的Linux发行版,广泛应用于企业级服务器环境,而Tomcat9作为Apache基金会开发的Java Servlet容器,是部署Java Web应用的理想选择,本文将详细介绍在CentOS系统上安装、配置和优化Tomcat9的完整流程,帮助读者快速搭建高效稳定的Java应用运行环境。

系统环境准备
在开始安装Tomcat9之前,确保系统满足基本要求,推荐使用CentOS 7或更高版本,至少分配2GB内存和20GB磁盘空间,首先更新系统软件包列表并安装必要的依赖工具,包括Java开发工具包(JDK)、wget和tar,执行以下命令:
sudo yum update -y
sudo yum install java-11-openjdk-devel wget tar -y
安装完成后,使用java -version命令验证JDK是否正确安装,Tomcat9要求JDK版本为8或更高,推荐使用JDK 11以获得更好的性能和安全性。
下载与安装Tomcat9
从Apache Tomcat官方镜像站点下载最新版本的Tomcat9压缩包,当前稳定版本为9.0.x,执行以下命令:
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz
下载完成后,使用tar -zxvf命令解压文件到/opt目录:
sudo tar -zxvf apache-tomcat-9.0.75.tar.gz -C /opt
为方便管理,创建一个符号链接:
sudo ln -s /opt/apache-tomcat-9.0.75 /opt/tomcat9
配置环境变量
为了在任何目录下都能直接执行Tomcat命令,需要配置环境变量,编辑/etc/profile.d/tomcat9.sh文件:
sudo vi /etc/profile.d/tomcat9.sh
export CATALINA_HOME=/opt/tomcat9
export PATH=$CATALINA_HOME/bin:$PATH
保存文件后,执行source /etc/profile.d/tomcat9.sh使配置生效,验证环境变量是否设置成功,可通过echo $CATALINA_HOME命令检查。
修改Tomcat配置文件
Tomcat的主要配置文件位于$CATALINA_HOME/conf目录,首先修改server.xml文件,调整端口号和连接器配置:

sudo vi $CATALINA_HOME/conf/server.xml
将HTTP连接器的默认端口从8080修改为其他端口(如8081),以避免与现有服务冲突,可以优化线程池配置,提高并发处理能力:
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="200"
minSpareThreads="20"/>
创建系统服务
为了方便管理Tomcat的启动和停止,建议将其配置为系统服务,创建/etc/systemd/system/tomcat9.service文件:
sudo vi /etc/systemd/system/tomcat9.service
[Unit]
Description=Apache Tomcat 9
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="CATALINA_HOME=/opt/tomcat9"
Environment="CATALINA_BASE=/opt/tomcat9"
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk"
ExecStart=$CATALINA_HOME/bin/startup.sh
ExecStop=$CATALINA_HOME/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
创建tomcat用户并设置权限:
sudo useradd -r -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat9
启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable tomcat9
sudo systemctl start tomcat9
检查服务状态:
sudo systemctl status tomcat9
防火墙配置
确保防火墙允许Tomcat端口的访问,执行以下命令:
sudo firewall-cmd --permanent --add-port=8081/tcp
sudo firewall-cmd --reload
如果使用SELinux,需要配置相应的策略:
sudo setsebool -P httpd_can_network_connect 1
部署Web应用
将WAR包放置到$CATALINA_HOME/webapps目录下,Tomcat会自动部署应用。

sudo cp your-app.war /opt/tomcat9/webapps/
访问http://your-server-ip:8081/your-app验证部署是否成功。
性能优化建议
为提高Tomcat性能,可进行以下优化:1)调整JVM堆内存大小,编辑$CATALINA_HOME/bin/setenv.sh文件,添加export JAVA_OPTS="-Xms512m -Xmx1024m";2)启用APR库以提升IO性能;3)配置Nginx作为反向代理,处理静态请求。
日志管理
Tomcat的日志文件位于$CATALINA_HOME/logs目录,可通过catalina.out查看启动日志,通过localhost_access_log.*查看访问日志,建议使用logrotate工具定期轮转日志文件,避免磁盘空间不足。
安全加固措施
1)修改默认管理端口(8005、8009);2)删除$CATALINA_HOME/webapps下的默认应用;3)配置SSL证书,启用HTTPS;4)定期更新Tomcat版本,修复安全漏洞。
相关问答FAQs
Q1: 如何修改Tomcat的管理员账户密码?
A1: 编辑$CATALINA_HOME/conf/tomcat-users.xml文件,在<tomcat-users>标签内添加或修改角色和用户配置,
<user username="admin" password="yourpassword" roles="manager-gui,admin-gui"/>
保存后重启Tomcat服务使配置生效。
Q2: Tomcat启动失败时如何排查问题?
A2: 首先检查$CATALINA_HOME/logs/catalina.out日志文件,查找错误信息,常见问题包括端口冲突、JDK版本不兼容、权限不足等,可通过netstat -tlnp命令检查端口占用情况,确保Tomcat有足够的文件描述符权限(通过ulimit -n查看和调整)。