在 Debian 上部署 Java 项目,一般流程是:安装 JDK → 上传/构建项目 → 配置运行方式 →(可选)用 systemd / Nginx 托管。下面按常见场景一步步说。
sudo apt update
sudo apt upgrade -y
# JDK 11(最常用)
sudo apt install openjdk-11-jdk -y
# 或 JDK 17
sudo apt install openjdk-17-jdk -y
java -version
javac -version
scp target/app.jar user@server:/opt/app/
java -jar /opt/app/app.jar
nohup java -jar /opt/app/app.jar > app.log 2>&1 &
sudo nano /etc/systemd/system/myapp.service
内容示例:
[Unit]
Description=Java App
After=network.target
[Service]
User=www-data
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar /opt/app/app.jar
SuccessExitStatus=143
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
sudo systemctl status myapp
sudo apt install tomcat9 -y
cp app.war /var/lib/tomcat9/webapps/
http://服务器IP:8080/app
sudo ufw allow 8080
sudo ufw enable
如果是云服务器,还需在安全组放行端口。
sudo apt install nginx -y
配置示例:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
sudo nginx -t
sudo systemctl restart nginx
sudo lsof -i:8080
java -Xms256m -Xmx512m -jar app.jar
export LANG=en_US.UTF-8
| 场景 | 推荐方式 |
|---|---|
| Spring Boot | jar + systemd |
| 传统 Web | Tomcat |
| 公网访问 | Nginx 反代 |
如果你能告诉我:
我可以直接给你一套完整可复制的部署命令。