在京东云服务器(如京东云的云主机 CVM)上配置 Spring Boot 应用程序自动启动,通常需要完成以下步骤:
✅ 一、准备工作
-
确保 JDK 已安装
java -version若未安装,请安装 OpenJDK 或 Oracle JDK:
# Ubuntu/Debian sudo apt update sudo apt install openjdk-17-jdk -y # CentOS/RHEL sudo yum install java-17-openjdk-devel -y -
上传 Spring Boot 的 JAR 包
使用scp、rsync或 SFTP 将你的app.jar上传到服务器,例如:scp app.jar user@your-server-ip:/home/user/app/
✅ 二、创建系统服务(推荐方式:使用 systemd)
这是最稳定、推荐的方法,让 Spring Boot 应用作为系统服务运行,并支持开机自启。
1. 创建服务文件
sudo vim /etc/systemd/system/springboot-app.service
写入以下内容(根据实际情况修改路径和用户):
[Unit]
Description=Spring Boot Application
After=syslog.target
[Service]
User=your-username # 替换为实际用户名,如 ubuntu、root 等
WorkingDirectory=/home/your-username/app
ExecStart=/usr/bin/java -jar /home/your-username/app/app.jar
SuccessExitStatus=143
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
🔍 注意事项:
User:建议不要用 root,创建专用用户更安全。WorkingDirectory:应用所在目录。ExecStart:启动命令,可添加 JVM 参数,如-Xms512m -Xmx1g。Restart=always:崩溃后自动重启。
2. 重载 systemd 并启用服务
# 重载配置
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start springboot-app
# 设置开机自启
sudo systemctl enable springboot-app
# 查看状态
sudo systemctl status springboot-app
✅ 三、查看日志(调试用)
# 查看实时日志
sudo journalctl -u springboot-app -f
# 查看最近的日志
sudo journalctl -u springboot-app --since "1 hour ago"
✅ 四、(可选)防火墙开放端口
如果 Spring Boot 应用监听的是非标准端口(如 8080),请确保京东云控制台的安全组已放行该端口。
🌐 登录京东云控制台 → 云主机 → 安全组 → 添加规则:
- 协议:TCP
- 端口:8080
- 源 IP:0.0.0.0/0(或限制为可信 IP)
✅ 五、测试开机自启
可以重启服务器测试是否自动启动:
sudo reboot
重启后登录,检查服务状态:
systemctl status springboot-app
如果显示 active (running),说明配置成功。
✅ 六、其他方式(不推荐)
| 方法 | 说明 |
|---|---|
crontab @reboot |
简单但不易管理日志和进程,适合临时测试 |
/etc/rc.local |
传统方式,现代系统中已被 systemd 取代 |
示例(不推荐):
# 编辑
sudo crontab -e
# 添加
@reboot sleep 10 && /usr/bin/java -jar /path/to/app.jar > /var/log/app.log 2>&1 &
✅ 总结
✅ 推荐方案:使用 systemd 创建服务 + 开机自启
优点:
- 支持开机自启
- 崩溃自动重启
- 日志集中管理(journalctl)
- 标准化运维
如有更多需求(如 Nginx 反向X_X、HTTPS、多实例部署等),可继续扩展。欢迎追问!
秒懂云