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

在京东云服务器(如京东云的云主机CVM)上配置 Spring Boot 应用程序自动启动,可以通过以下步骤实现。假设你使用的是 Linux 系统(如 CentOS 或 Ubuntu),以下是详细操作流程:


✅ 步骤一:将 Spring Boot 项目打包为可执行 JAR

确保你的 Spring Boot 项目已打包成一个可运行的 JAR 文件,例如:

mvn clean package

生成的文件通常位于 target/your-app.jar


✅ 步骤二:上传 JAR 文件到京东云服务器

使用 scpSFTP 或其他方式将 JAR 文件上传到服务器,例如:

scp target/your-app.jar user@your-server-ip:/home/user/app/

✅ 步骤三:安装并配置 Java 环境

确保服务器已安装 Java:

java -version

如果没有安装,请安装 JDK(以 Ubuntu 为例):

sudo apt update
sudo apt install openjdk-17-jdk -y

✅ 步骤四:创建系统服务(推荐使用 systemd)

这是最标准的方式,让 Spring Boot 应用作为系统服务运行,并支持开机自启。

1. 创建服务文件

sudo nano /etc/systemd/system/your-app.service

写入以下内容(根据实际情况修改路径和用户):

[Unit]
Description=My Spring Boot Application
After=syslog.target

[Service]
User=your-user           # 替换为实际运行用户,如 ubuntu 或 root
WorkingDirectory=/home/your-user/app
ExecStart=/usr/bin/java -jar /home/your-user/app/your-app.jar
SuccessExitStatus=143
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

🔍 提示:

  • 使用 Restart=always 可确保应用崩溃后自动重启。
  • 日志可通过 journalctl 查看。

2. 启用并启动服务

# 重新加载 systemd 配置
sudo systemctl daemon-reexec
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start your-app

# 设置开机自启
sudo systemctl enable your-app

# 查看状态
sudo systemctl status your-app

✅ 步骤五:查看日志(调试用)

journalctl -u your-app.service -f

✅ 步骤六:开放防火墙端口(如果需要)

Spring Boot 默认使用 8080 端口,确保京东云控制台的安全组规则已放行该端口。

  1. 登录 京东云控制台
  2. 进入 云主机 > 安全组
  3. 编辑安全组规则,添加入方向规则:
    • 协议类型:TCP
    • 端口范围:8080
    • 源 IP:0.0.0.0/0(或按需限制)

✅ 可选:使用 Nginx 反向X_X(生产环境推荐)

如果你希望使用域名或 80/443 端口,建议配置 Nginx 反向X_X:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

✅ 总结:自动启动的关键点

步骤 内容
✅ 打包 生成可运行的 .jar 文件
✅ 上传 放到服务器指定目录
✅ 配置 创建 systemd 服务单元
✅ 开机自启 systemctl enable your-app
✅ 安全组 京东云控制台放行端口

完成以上步骤后,即使服务器重启,Spring Boot 应用也会自动启动。

如有更多需求(如环境变量、HTTPS、多实例等),可进一步扩展配置。

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