如何在CentOS上部署Tomcat服务器 (2026)

引言

Tomcat作为Apache基金会旗下的开源Java Servlet容器,已成为企业级Java Web应用部署的首选方案。在CentOS系统上部署Tomcat服务器,不仅能够获得稳定的运行环境,还能充分利用CentOS的安全特性。本文将详细介绍在CentOS 7/8系统上从零开始部署Tomcat 9的完整流程。

环境准备

在开始部署前,请确保您的CentOS系统满足以下条件:

  • CentOS 7或CentOS 8系统(推荐CentOS 7)
  • 至少2GB可用内存
  • 10GB可用磁盘空间
  • root或sudo权限用户
  • 稳定的网络连接

第一步:安装Java环境

Tomcat是基于Java的应用,因此需要先安装JDK。推荐使用OpenJDK 11或更高版本。

1.1 检查现有Java版本

执行以下命令检查系统是否已安装Java:

java -version

1.2 安装OpenJDK

如果未安装Java,使用yum包管理器安装:

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

1.3 配置JAVA_HOME环境变量

编辑/etc/profile文件,在文件末尾添加:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$PATH:$JAVA_HOME/bin

使配置生效:

source /etc/profile

第二步:下载并安装Tomcat

2.1 创建tomcat用户

为安全考虑,建议创建专用用户运行Tomcat:

sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat

2.2 下载Tomcat 9

访问Apache Tomcat官网获取最新下载链接,或使用wget直接下载:

cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/src/apache-tomcat-9.0.85-src.tar.gz

2.3 解压并安装

解压下载的文件到/opt/tomcat目录:

sudo mkdir /opt/tomcat
sudo tar -xzf apache-tomcat-9.0.85-src.tar.gz -C /opt/tomcat --strip-components=1

2.4 设置权限

更改Tomcat目录的所有权:

sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R 755 /opt/tomcat/bin/*.sh

第三步:配置Tomcat服务

3.1 创建systemd服务文件

创建/etc/systemd/system/tomcat.service文件:

sudo nano /etc/systemd/system/tomcat.service

添加以下内容:

[Unit]
Description=Apache Tomcat 9 Web Application Container
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
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
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

3.2 启动并启用Tomcat服务

重新加载systemd配置:

sudo systemctl daemon-reload

启动Tomcat服务:

sudo systemctl start tomcat

设置开机自启:

sudo systemctl enable tomcat

检查服务状态:

sudo systemctl status tomcat

第四步:配置防火墙

如果系统启用了防火墙,需要开放8080端口:

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

第五步:访问Tomcat管理界面

5.1 配置管理用户

编辑/opt/tomcat/conf/tomcat-users.xml文件,在<tomcat-users>标签内添加:

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="your_password" roles="manager-gui,admin-gui"/>

5.2 允许远程访问

默认情况下,Manager应用只允许本地访问。如需远程访问,需要修改/opt/tomcat/webapps/manager/META-INF/context.xml文件,注释掉IP地址限制部分。

5.3 访问验证

在浏览器中访问:http://your_server_ip:8080

常见问题排查

问题1:端口8080被占用

使用以下命令检查端口占用情况:

sudo netstat -tlnp | grep 8080

如果端口被占用,可以修改/opt/tomcat/conf/server.xml文件中的Connector端口。

问题2:内存不足

对于大型应用,可能需要调整JVM内存设置。编辑/opt/tomcat/bin/catalina.sh文件,添加:

JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"

问题3:中文乱码

/opt/tomcat/conf/server.xml的Connector中添加URIEncoding="UTF-8"属性。

性能优化建议

  1. 使用NIO连接器:在server.xml中配置NIO或NIO2连接器以提升性能
  2. 启用GZIP压缩:减少网络传输数据量
  3. 配置JVM参数:根据服务器内存调整堆内存大小
  4. 使用连接池:配置数据库连接池提升数据库访问性能
  5. 定期清理日志:避免日志文件占用过多磁盘空间

安全加固措施

  1. 修改默认端口:将8080端口改为非标准端口
  2. 禁用管理界面:如果不需要,删除manager和host-manager应用
  3. 配置HTTPS:使用SSL证书加密数据传输
  4. 定期更新:保持Tomcat和Java版本为最新稳定版
  5. 限制访问IP:通过防火墙或Tomcat配置限制访问来源

总结

通过以上步骤,您已经成功在CentOS系统上部署了Tomcat服务器。在实际生产环境中,还需要根据具体需求进行更详细的配置和优化。建议定期关注Apache Tomcat官方发布的安全公告,及时更新系统以确保服务安全稳定运行。

对于需要更高性能的场景,可以考虑使用Nginx作为反向代理,或者配置Tomcat集群实现负载均衡。随着业务增长,持续的监控和调优将是保障服务质量的关锟。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注