在京东云服务器(如京东云的云主机CVM)上配置Spring Boot应用程序自动启动,可以按照以下步骤操作。这里以Linux系统(如CentOS或Ubuntu)为例,使用systemd服务管理器实现开机自启。
✅ 步骤一:准备Spring Boot应用
- 将你的Spring Boot项目打包成可执行的JAR文件,例如:
mvn clean package
生成的文件通常位于 target/myapp-0.0.1.jar。
- 将该JAR文件上传到京东云服务器,比如放在
/opt/myapp/目录下:
scp target/myapp-0.0.1.jar root@your-server-ip:/opt/myapp/app.jar
✅ 步骤二:创建 systemd 服务文件
- 创建服务配置文件:
sudo vim /etc/systemd/system/myapp.service
- 写入以下内容(请根据实际情况修改路径、用户、JVM参数等):
[Unit]
Description=My Spring Boot Application
After=syslog.target network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/bin/java -jar /opt/myapp/app.jar
WorkingDirectory=/opt/myapp
Restart=always
RestartSec=10
SuccessExitStatus=143
StandardOutput=journal
StandardError=journal
# 可选:设置环境变量
Environment="SPRING_PROFILES_ACTIVE=prod"
Environment="JAVA_OPTS=-Xms512m -Xmx1g"
[Install]
WantedBy=multi-user.target
📌 说明:
User和Group建议使用非root普通用户更安全。ExecStart指定Java运行命令。Restart=always表示程序崩溃后自动重启。SuccessExitStatus=143是正常关闭信号(SIGTERM)的退出码。
✅ 步骤三:启用并启动服务
- 重载systemd配置:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
- 启动服务:
sudo systemctl start myapp
- 设置开机自启:
sudo systemctl enable myapp
- 查看服务状态:
sudo systemctl status myapp
✅ 步骤四:查看日志(调试用)
sudo journalctl -u myapp.service -f
这会实时输出Spring Boot应用的日志。
✅ 其他建议
-
使用普通用户运行(推荐)
创建专用用户运行应用,提高安全性:sudo useradd -r -s /bin/false myappuser sudo chown -R myappuser:myappuser /opt/myapp然后在服务文件中修改:
User=myappuser Group=myappuser -
开放防火墙端口
如果Spring Boot监听8080端口,确保京东云安全组已放行该端口。 -
使用Nginx反向X_X(可选)
若需通过域名访问,可配合Nginx做反向X_X,并申请SSL证书。
✅ 验证自动启动
你可以重启服务器测试是否自动启动:
sudo reboot
重启后登录,执行:
sudo systemctl status myapp
如果显示“active (running)”,说明配置成功!
总结
| 步骤 | 操作 |
|---|---|
| 1 | 上传JAR包到服务器 |
| 2 | 编写 .service 文件 |
| 3 | 使用 systemctl enable 设置开机自启 |
| 4 | 启动服务并验证 |
这样,你的Spring Boot应用就能在京东云服务器上稳定、自动地运行了。
如有需要,也可以结合 Jenkins、Docker 或 Shell脚本实现自动化部署。欢迎继续提问!
云计算导航