下面按从零到可用的思路,说明在 Debian 上部署 Tomcat 应用 的常见做法(以 Debian 11/12 为例,Tomcat 9/10 通用)。
sudo apt update
sudo apt upgrade -y
Tomcat 需要 Java 运行环境:
sudo apt install -y openjdk-17-jdk
查看 Java 是否安装成功:
java -version
sudo apt install -y tomcat9
安装完成后:
/var/lib/tomcat9/etc/tomcat9/var/lib/tomcat9/webappssudo systemctl start tomcat9
sudo systemctl enable tomcat9
访问测试:
http://服务器IP:8080
cd /opt
sudo wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.x/bin/apache-tomcat-10.1.x.tar.gz
sudo tar -xzf apache-tomcat-10.1.x.tar.gz
sudo mv apache-tomcat-10.1.x tomcat
创建专用用户(安全):
sudo useradd -r -m -d /opt/tomcat tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
(如需 systemd 管理,可继续配置 service 文件)
sudo cp yourapp.war /var/lib/tomcat9/webapps/
Tomcat 会自动解压并部署:
/var/lib/tomcat9/webapps/yourapp/
访问地址:
http://IP:8080/yourapp
sudo mkdir /var/lib/tomcat9/webapps/yourapp
sudo unzip yourapp.war -d /var/lib/tomcat9/webapps/yourapp
sudo chown -R tomcat9:tomcat9 /var/lib/tomcat9/webapps/yourapp
编辑:
sudo nano /etc/tomcat9/server.xml
找到:
<Connector port="8080" ... />
改为:
<Connector port="80" ... />
重启:
sudo systemctl restart tomcat9
sudo apt install -y mysql-server
在应用中配置:
spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.username=root
spring.datasource.password=xxx
✅ 使用 Nginx 反向代理
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
✅ 关闭 Tomcat 管理页面(security) ✅ 使用非 root 用户运行 ✅ 配置 HTTPS(Let’s Encrypt)
# 查看日志
sudo tail -f /var/lib/tomcat9/logs/catalina.out
# 检查端口
sudo netstat -tunlp | grep 8080
# 重启
sudo systemctl restart tomcat9
如果你愿意,可以告诉我:
我可以给你更精确的部署方案。