在京东云服务器(如京东云的云主机CVM)上配置 Spring Boot 应用程序自动启动,可以通过以下步骤实现。假设你使用的是 Linux 系统(如 CentOS 或 Ubuntu),以下是详细操作流程:
✅ 步骤一:将 Spring Boot 项目打包为可执行 JAR
确保你的 Spring Boot 项目已打包成一个可运行的 JAR 文件,例如:
mvn clean package
生成的文件通常位于 target/your-app.jar。
✅ 步骤二:上传 JAR 文件到京东云服务器
使用 scp、SFTP 或其他方式将 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 端口,确保京东云控制台的安全组规则已放行该端口。
- 登录 京东云控制台
- 进入 云主机 > 安全组
- 编辑安全组规则,添加入方向规则:
- 协议类型: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云枢