下面按常见生产场景给你一个清晰、可落地的 Debian 上部署 Java 服务的完整思路。你可以按需选择方式。
sudo apt update && sudo apt upgrade -y
常见版本:
openjdk-8-jdkopenjdk-11-jdkopenjdk-17-jdk示例(Java 11):
sudo apt install -y openjdk-11-jdk
验证:
java -version
通常是:
xxx.jar(Spring Boot 等)war + Tomcat假设使用 jar 包方式(最常见):
mkdir -p /opt/myapp
cp myapp.jar /opt/myapp/
cd /opt/myapp
java -jar myapp.jar
测试是否正常启动。
sudo vim /etc/systemd/system/myapp.service
示例内容:
[Unit]
Description=My Java App
After=network.target
[Service]
User=appuser
WorkingDirectory=/opt/myapp
ExecStart=/usr/bin/java -jar /opt/myapp/myapp.jar
SuccessExitStatus=143
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo useradd -r -s /bin/false appuser
sudo chown -R appuser:appuser /opt/myapp
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
sudo systemctl status myapp
journalctl -u myapp -f
例如服务端口是 8080:
sudo ufw allow 8080/tcp
⚠️ 云服务器还要在安全组放行端口。
sudo apt install nginx
配置:
sudo vim /etc/nginx/sites-available/myapp
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
启用:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
/opt/myapp/logsjournalctl -u myapplogrotateExecStart=/usr/bin/java -Xms512m -Xmx1024m -jar /opt/myapp/myapp.jar
java -jar myapp.jar --spring.profiles.active=prod
FROM openjdk:11
COPY myapp.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
✅ 生产推荐组合
如果你愿意,可以告诉我:
我可以给你一份完全针对你项目的部署模板。