下面给你一个在 Debian 系统上部署 Tomcat 应用的完整流程,从安装到部署 WAR 包,适合生产环境使用。
sudo apt update
sudo apt upgrade -y
sudo apt install openjdk-17-jdk -y
验证:
java -version
sudo apt install tomcat9 tomcat9-admin -y
安装后自动注册为 systemd 服务。
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/src/apache-tomcat-9.0.85.tar.gz
解压:
sudo mkdir /opt/tomcat
sudo tar -xzf apache-tomcat-9.0.85.tar.gz -C /opt/tomcat --strip-components=1
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R u+x /opt/tomcat/bin
sudo nano /etc/systemd/system/tomcat.service
内容示例:
[Unit]
Description=Apache Tomcat
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
启动并设置开机自启:
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
scp app.war user@server:/opt/tomcat/webapps/
sudo systemctl restart tomcat
Tomcat 会自动解压 app.war 为 webapps/app/
访问:
http://服务器IP:8080/app
cp -r myapp /opt/tomcat/webapps/
编辑用户配置:
sudo nano /opt/tomcat/conf/tomcat-users.xml
添加:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="strongpassword" roles="manager-gui,admin-gui"/>
允许远程访问(默认只允许 localhost):
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
注释掉:
<!-- <Valve ... allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
重启 Tomcat:
sudo systemctl restart tomcat
访问:
http://服务器IP:8080/manager/html
编辑:
sudo nano /opt/tomcat/conf/server.xml
修改:
<Connector port="8080" protocol="HTTP/1.1" ... />
sudo ufw allow 8080
sudo ufw reload
tail -f /opt/tomcat/logs/catalina.out
ss -lntp | grep 8080
✅ 使用 Nginx 反向代理
✅ 使用 非 root 用户运行 Tomcat
✅ 关闭默认示例应用
✅ 配置 JVM 内存参数
✅ 使用 HTTPS
如果你愿意,我可以帮你:
你可以直接告诉我你的 Debian 版本 + Tomcat 版本 + 应用类型。