在京东云服务器(如京东云的云主机 CVM)上配置 Spring Boot 应用程序自动启动,通常需要以下几个步骤:
✅ 一、准备工作
-
登录京东云服务器
- 使用 SSH 登录你的京东云 Linux 实例(如 CentOS、Ubuntu 等)。
ssh root@your-server-ip
- 使用 SSH 登录你的京东云 Linux 实例(如 CentOS、Ubuntu 等)。
-
上传 Spring Boot 的 JAR 包
- 将打包好的
your-app.jar上传到服务器,例如放在/opt/app/目录下:scp your-app.jar root@your-server-ip:/opt/app/
- 将打包好的
-
确保 Java 已安装
- 检查是否已安装 JDK:
java -version - 若未安装,可使用以下命令安装(以 Ubuntu 为例):
sudo apt update sudo apt install openjdk-17-jdk -y
- 检查是否已安装 JDK:
✅ 二、创建系统服务(推荐方式:systemd)
通过 systemd 创建系统服务,实现开机自启。
1. 创建服务文件
编辑服务配置文件:
sudo vim /etc/systemd/system/your-app.service
写入以下内容(根据实际情况修改路径和用户):
[Unit]
Description=Spring Boot Application
After=syslog.target
[Service]
User=root
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: 建议使用非 root 用户更安全。ExecStart: 指定 Java 启动命令和 JAR 路径。Restart=always: 异常退出后自动重启。- 日志可通过
journalctl查看。
2. 重载 systemd 并启用服务
# 重载配置
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
# 启用开机自启
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
✅ 四、查看日志(调试用)
# 查看应用日志
sudo journalctl -u your-app.service -f
✅ 五、其他注意事项
-
防火墙设置:确保京东云安全组开放了应用端口(如 8080)。
- 登录京东云控制台 → 云主机 → 安全组 → 添加入方向规则(如 TCP:8080)。
-
环境变量支持:
如果需要设置环境变量(如SPRING_PROFILES_ACTIVE=prod),可在 service 文件中添加:Environment="SPRING_PROFILES_ACTIVE=prod" Environment="JAVA_OPTS=-Xmx512m -Xms256m"然后修改
ExecStart:ExecStart=/usr/bin/java $JAVA_OPTS -jar /opt/app/your-app.jar -
权限问题:
确保/opt/app/your-app.jar可被执行用户读取:chmod +r /opt/app/your-app.jar
✅ 六、补充:使用 shell 脚本 + crontab(不推荐)
虽然可以用 crontab 的 @reboot 实现,但不如 systemd 稳定和功能完整。示例:
crontab -e
添加:
@reboot sleep 10 && /usr/bin/java -jar /opt/app/your-app.jar > /var/log/app.log 2>&1 &
⚠️ 缺点:无法自动重启崩溃进程,建议优先使用 systemd。
✅ 总结
| 步骤 | 内容 |
|---|---|
| 1 | 上传 JAR 包并确保 Java 环境正常 |
| 2 | 创建 systemd 服务文件 |
| 3 | 启用并启动服务 |
| 4 | 设置开机自启 enable |
| 5 | 配置安全组放行端口 |
✅ 推荐使用 systemd 方式,稳定、可控、支持日志和自动恢复。
如有更多需求(如 Nginx 反向X_X、HTTPS、多实例部署),可进一步扩展配置。
CLOUD技术博