在京东云服务器(如京东云轻量云服务器或云主机)上配置 Spring Boot 应用程序自动启动,通常可以通过以下几种方式实现。这里以 Linux 系统(如 CentOS 或 Ubuntu)为例进行说明。
✅ 步骤一:将 Spring Boot 应用打包为可执行 JAR
确保你的 Spring Boot 项目已经打包成一个可运行的 JAR 文件:
mvn clean package
生成的文件通常位于 target/your-app.jar。
将该 JAR 文件上传到京东云服务器,例如放在 /opt/app/your-app.jar。
✅ 步骤二:安装并配置 Java 环境
确保服务器已安装 JDK:
java -version
如果没有安装,可以使用如下命令安装(以 Ubuntu 为例):
sudo apt update
sudo apt install openjdk-17-jdk -y
✅ 步骤三:创建系统服务(推荐方式)
通过 systemd 创建系统服务,实现开机自启和后台运行。
1. 创建服务文件
sudo vim /etc/systemd/system/your-app.service
2. 写入以下内容(根据实际情况修改路径、用户等):
[Unit]
Description=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=可改为非 root 用户(更安全)WorkingDirectory是应用所在目录ExecStart是启动命令Restart=always实现崩溃后自动重启- 日志可通过
journalctl查看
3. 重载 systemd 并启用服务
# 重载配置
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start your-app
# 设置开机自启
sudo systemctl enable your-app
# 查看状态
sudo systemctl status your-app
✅ 步骤四:查看日志(调试用)
# 查看实时日志
sudo journalctl -u your-app.service -f
# 查看最近的日志
sudo journalctl -u your-app.service --since "1 hour ago"
✅ 其他方式(可选)
方式二:使用 crontab 开机自启(不推荐用于长期服务)
sudo crontab -e
添加:
@reboot sleep 20 && /usr/bin/java -jar /opt/app/your-app.jar > /opt/app/app.log 2>&1 &
⚠️ 缺点:无法监控进程状态,崩溃后不会自动重启。
✅ 安全建议
-
不要用 root 运行应用:创建专用用户运行服务。
sudo useradd -m -s /bin/bash appuser sudo chown -R appuser:appuser /opt/app然后在 service 文件中设置
User=appuser -
配置防火墙:开放 Spring Boot 使用的端口(如 8080)
sudo ufw allow 8080 -
使用 Nginx 做反向X_X(可选):提高安全性与性能。
✅ 验证自动启动
重启服务器测试:
sudo reboot
重启后登录,检查服务是否运行:
sudo systemctl status your-app
如果状态为 active (running),说明配置成功。
总结
| 步骤 | 操作 |
|---|---|
| 1 | 打包 Spring Boot 项目为 JAR |
| 2 | 上传 JAR 到服务器并配置 Java 环境 |
| 3 | 创建 systemd 服务文件 |
| 4 | 启用服务并设置开机自启 |
| 5 | 验证运行和日志 |
通过以上步骤,你就可以在京东云服务器上实现 Spring Boot 应用的开机自动启动、崩溃自动重启、日志集中管理,稳定运行生产环境应用。
如有需要,也可以结合 Jenkins、Docker 等工具进一步自动化部署。
云服务器