在京东云服务器(如京东云轻量应用服务器或云主机)上配置 Spring Boot 应用程序自动启动,可以按照以下步骤进行。这里以 Linux 系统(如 CentOS 或 Ubuntu)为例。
? 一、部署 Spring Boot 应用
-
上传 JAR 包
将你的 Spring Boot 打包好的.jar文件上传到服务器,例如:scp your-app.jar root@your-server-ip:/opt/app/ -
确保 Java 已安装
检查 Java 是否已安装:java -version如果没有安装,请安装 JDK(推荐 OpenJDK 8 或 11):
- Ubuntu:
sudo apt update sudo apt install openjdk-11-jdk -y - CentOS:
sudo yum install java-11-openjdk-devel -y
- Ubuntu:
-
测试运行应用
在命令行中测试是否能正常运行:nohup java -jar /opt/app/your-app.jar > /opt/app/app.log 2>&1 &
? 二、配置开机自启(使用 systemd)
这是最推荐的方式,适用于现代 Linux 发行版。
1. 创建服务文件
sudo vim /etc/systemd/system/your-app.service
写入以下内容(根据实际情况修改路径和用户):
[Unit]
Description=My Spring Boot Application
After=syslog.target
[Service]
User=root
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar /opt/app/your-app.jar
SuccessExitStatus=143
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
✅ 注意事项:
User=:建议创建专用用户(如appuser)并改为非 root 用户运行。ExecStart:指定完整的 Java 路径(可用which java查看)。- 日志输出可通过
journalctl -u your-app.service查看。
2. 启用服务
# 重新加载 systemd 配置
sudo systemctl daemon-reexec
# 启用开机自启
sudo systemctl enable your-app.service
# 启动服务
sudo systemctl start your-app.service
# 查看状态
sudo systemctl status your-app.service
? 三、验证自动启动
-
重启服务器测试
sudo reboot -
登录后检查服务状态:
systemctl status your-app.service -
检查应用是否监听端口(如 8080):
netstat -tuln | grep 8080 -
查看日志:
journalctl -u your-app.service -f
✅ 四、其他优化建议
-
配置环境变量(可选)
可在服务文件中添加:
Environment="SPRING_PROFILES_ACTIVE=prod" Environment="JAVA_OPTS=-Xms512m -Xmx1024m"并修改
ExecStart:ExecStart=/usr/bin/java $JAVA_OPTS -jar /opt/app/your-app.jar -
防火墙开放端口
如果使用了防火墙(如 firewalld 或 ufw),需开放应用端口:
- Ubuntu (ufw):
sudo ufw allow 8080 - CentOS (firewalld):
sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload
- Ubuntu (ufw):
-
域名与反向X_X(可选)
使用 Nginx 做反向X_X:
server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
? 总结
| 步骤 | 内容 |
|---|---|
| 1 | 上传 JAR 文件并确保 Java 可用 |
| 2 | 编写 systemd 服务文件 /etc/systemd/system/your-app.service |
| 3 | 启用服务:systemctl enable/start your-app.service |
| 4 | 重启测试自动启动是否生效 |
通过以上配置,你的 Spring Boot 应用将在京东云服务器开机时自动启动,并在崩溃后自动重启(得益于 Restart=always),实现稳定运行。
如有需要,也可以结合 Jenkins、Docker 等进一步自动化部署。
CDNK博客