下面给你一份在 Debian(11/12 等常见版本)上部署 Apache Tomcat 的实用步骤,从安装到基本配置,适合新手和运维使用。
sudo apt update
sudo apt upgrade -y
Tomcat 10/11 需要 Java 17+
sudo apt install -y openjdk-17-jdk
验证:
java -version
不要使用 root 运行 Tomcat
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
以 Tomcat 10 为例(你可以换成 9 或 11):
cd /tmp
wget https://downloads.apache.org/tomcat/tomcat-10/v10.1.20/bin/apache-tomcat-10.1.20.tar.gz
版本号请去官网确认:https://tomcat.apache.org/download-10.cgi
解压到 /opt/tomcat:
sudo mkdir /opt/tomcat
sudo tar -xzf apache-tomcat-10.1.20.tar.gz -C /opt/tomcat --strip-components=1
赋权:
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod +x /opt/tomcat/bin/*.sh
创建服务文件:
sudo nano /etc/systemd/system/tomcat.service
内容如下:
[Unit]
Description=Apache Tomcat
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
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
User=tomcat
Group=tomcat
Restart=on-failure
[Install]
WantedBy=multi-user.target
⚠️
JAVA_HOME路径可用readlink -f $(which java)确认
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
查看状态:
sudo systemctl status tomcat
sudo ufw allow 8080/tcp
浏览器访问:
http://服务器IP:8080
编辑:
sudo nano /opt/tomcat/conf/tomcat-users.xml
示例:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="你的密码" roles="manager-gui,admin-gui"/>
默认 manager 页面只允许 localhost,远程访问需修改:
/opt/tomcat/webapps/manager/META-INF/context.xml
注释掉 RemoteAddrValve
把 .war 文件放到:
/opt/tomcat/webapps/
Tomcat 会自动解压部署。
server.xml 改端口(如 80 / 443)CATALINA_OPTS)如果你需要: ✅ Debian + Nginx + Tomcat ✅ Docker 部署 Tomcat ✅ Tomcat 集群 / HTTPS ✅ 指定版本(9 / 11)
告诉我你的使用场景,我可以直接给你定制方案。