目录
- 第一步:准备工作
- 系统要求
- 创建专用用户
- 安装必要依赖
- 第二步:下载并安装 Tomcat
- 下载 Tomcat 安装包
- 解压并移动到安装目录
- 设置目录权限
- 第三步:基础配置
- 配置环境变量 (
CATALINA_HOME) - 配置管理员账户 (
tomcat-users.xml) - 修改默认端口 (
server.xml)
- 配置环境变量 (
- 第四步:服务管理
- 使用
systemd将 Tomcat 设置为系统服务 - 启动、停止、重启 Tomcat
- 使用
- 第五步:防火墙与安全组配置
开放 8080 端口
(图片来源网络,侵删) - 第六步:验证安装
访问 Tomcat 默认页面
- 第七步:生产环境优化与安全加固
- 关闭 Tomcat 管理页面
- 配置 JVM 内存 (
setenv.sh) - 配置 AJP 连接器 (与 Nginx/Apache 集成)
- 日志管理
- 常见问题与排错
第一步:准备工作
系统要求
- 操作系统: Linux (推荐 CentOS 7+, Ubuntu 18.04+)
- Java: Tomcat 是一个 Java 应用,必须安装 Java Development Kit (JDK) 8 或更高版本,我们推荐使用 OpenJDK。
- 用户: 建议创建一个非 root 用户来运行 Tomcat,以提高安全性。
创建专用用户
# 创建一个名为 tomcat 的用户,不创建家目录,禁止登录 sudo useradd -s /bin/nologin -d /opt/tomcat tomcat
安装必要依赖
首先更新系统包管理器,然后安装 JDK。
# 对于 CentOS/RHEL sudo yum update -y sudo yum install java-11-openjdk-devel -y # 对于 Ubuntu/Debian sudo apt update sudo apt install openjdk-11-jdk -y
安装完成后,验证 Java 是否安装成功:
java -version # 应该输出类似下面的信息 # openjdk version "11.0.16" 2025-07-19 # OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu122.04) # OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)
第二步:下载并安装 Tomcat
下载 Tomcat 安装包
访问 Tomcat 官方下载页面,复制 Binary Distributions 下的 Core 下的 tar.gz 链接。

# 进入临时目录 cd /tmp # 使用 wget 下载 (请替换为最新版本的链接) wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
解压并移动到安装目录
# 解压 tar xzf apache-tomcat-9.0.65.tar.gz # 创建安装目录 (如果不存在) sudo mkdir /opt/tomcat # 将解压后的内容移动到 /opt/tomcat 目录 sudo mv apache-tomcat-9.0.65/* /opt/tomcat/ # (可选) 删除安装包和解压目录 rm -rf apache-tomcat-9.0.65.tar.gz apache-tomcat-9.0.65
设置目录权限
将 /opt/tomcat 目录及其所有内容的所有权赋予我们之前创建的 tomcat 用户。
sudo chown -R tomcat:tomcat /opt/tomcat
第三步:基础配置
配置环境变量 (CATALINA_HOME)
为了让系统在任何地方都能找到 Tomcat 的可执行文件,最好设置环境变量。
# 编辑 /etc/profile 文件 sudo nano /etc/profile
在文件末尾添加以下内容:
export CATALINA_HOME=/opt/tomcat export PATH=$PATH:$CATALINA_HOME/bin
保存文件后,让配置立即生效:

source /etc/profile
配置管理员账户 (tomcat-users.xml)
这个文件用于配置可以访问 Tomcat Manager 和 Host Manager 的用户。
sudo nano /opt/tomcat/conf/tomcat-users.xml
在 <tomcat-users> 标签内添加一个角色和一个用户。注意:在生产环境中,请务必使用强密码!
<tomcat-users>
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
<!-- 添加以下内容 -->
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="your_strong_password" roles="manager-gui,admin-gui"/>
</tomcat-users>
重要安全提示:默认情况下,manager-gui 角色只允许从本机访问,如果你需要从远程服务器访问,需要修改 context.xml 文件,对于 manager 应用:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
将 <Valve> 标签注释掉或修改 allow 属性:
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
修改默认端口 (server.xml)
默认情况下,Tomcat 监听 8080 端口,如果你需要修改它,可以编辑 server.xml 文件。
sudo nano /opt/tomcat/conf/server.xml
找到 <Connector port="8080" ... /> 这一行,修改 port 属性即可,改为 8081:
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
第四步:服务管理
使用 systemd 可以让 Tomcat 像其他系统服务一样被管理(开机自启、状态查看等)。
创建 systemd 服务文件
sudo nano /etc/systemd/system/tomcat.service
粘贴进去,请确保 User 和 Group 与你创建的用户一致,CATALINA_HOME 路径正确。
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment="JAVA_HOME=/usr/lib/jvm/jre" 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.security.egd=file:///dev/urandom" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat [Install] WantedBy=multi-user.target
启动并设置开机自启
# 重新加载 systemd 配置,使其识别新服务 sudo systemctl daemon-reload # 启动 Tomcat 服务 sudo systemctl start tomcat # 查看 Tomcat 服务状态 sudo systemctl status tomcat # 设置 Tomcat 开机自启 sudo systemctl enable tomcat
第五步:防火墙与安全组配置
如果服务器开启了防火墙,你需要开放 8080 端口才能从外部访问。
