奋斗
努力

京东云服务器如何配置自动启动Spring Boot应用程序?

云计算

在京东云服务器(如京东云轻量云服务器或云主机)上配置 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 &

⚠️ 缺点:无法监控进程状态,崩溃后不会自动重启。


✅ 安全建议

  1. 不要用 root 运行应用:创建专用用户运行服务。

    sudo useradd -m -s /bin/bash appuser
    sudo chown -R appuser:appuser /opt/app

    然后在 service 文件中设置 User=appuser

  2. 配置防火墙:开放 Spring Boot 使用的端口(如 8080)

    sudo ufw allow 8080
  3. 使用 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 等工具进一步自动化部署。

未经允许不得转载:云服务器 » 京东云服务器如何配置自动启动Spring Boot应用程序?