在京东云服务器(如京东云轻量云主机或云主机)上配置 Spring Boot 应用程序自动启动,可以按照以下步骤操作。这里以 Linux 系统(如 CentOS 或 Ubuntu)为例,使用 systemd 服务管理器来实现开机自启。
✅ 步骤一:准备 Spring Boot 的可执行 JAR 包
-
使用 Maven 或 Gradle 构建你的 Spring Boot 项目,生成一个可运行的 JAR 文件。
mvn clean package生成的文件通常位于
target/your-app.jar。 -
将 JAR 文件上传到京东云服务器,例如放在
/opt/myapp/目录下:scp target/your-app.jar root@your-server-ip:/opt/myapp/app.jar
✅ 步骤二:安装并配置 Java 环境
确保服务器已安装 Java 8 或更高版本:
java -version
如果没有安装,请安装 OpenJDK:
-
Ubuntu/Debian:
sudo apt update sudo apt install openjdk-17-jdk -y -
CentOS/RHEL:
sudo yum install java-17-openjdk-devel -y
✅ 步骤三:创建 systemd 服务文件
创建一个系统服务来管理 Spring Boot 应用。
-
创建服务文件:
sudo vim /etc/systemd/system/myapp.service -
写入以下内容(根据实际情况修改路径和用户):
[Unit]
Description=My Spring Boot Application
After=syslog.target
[Service]
User=root
ExecStart=/usr/bin/java -jar /opt/myapp/app.jar
WorkingDirectory=/opt/myapp
SuccessExitStatus=143
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
🔍 参数说明:
User: 建议使用非 root 用户提高安全性(如创建myapp用户)ExecStart: 启动命令,指定 Java 和 JAR 路径WorkingDirectory: 工作目录Restart=always: 崩溃后自动重启StandardOutput/StandardError: 日志输出到 journal
✅ 步骤四:启用并启动服务
# 重新加载 systemd 配置
sudo systemctl daemon-reexec
sudo systemctl enable myapp.service
# 启动服务
sudo systemctl start myapp.service
# 查看状态
sudo systemctl status myapp.service
如果看到 active (running),说明启动成功。
✅ 步骤五:查看日志(调试用)
sudo journalctl -u myapp.service -f
✅ 步骤六:设置开机自动启动(已由 enable 实现)
执行 systemctl enable myapp.service 后,服务已在系统启动时自动运行。
✅ 可选优化建议
-
使用非 root 用户运行应用
sudo useradd -r -s /bin/false myapp sudo chown -R myapp:myapp /opt/myapp然后在 service 文件中将
User=myapp -
配置环境变量(如 Spring Profiles)
在 service 文件中添加:Environment="SPRING_PROFILES_ACTIVE=prod" Environment="JAVA_OPTS=-Xms512m -Xmx1g"并修改
ExecStart:ExecStart=/usr/bin/java $JAVA_OPTS -jar /opt/myapp/app.jar -
开放防火墙端口(如 8080)
sudo ufw allow 8080 # Ubuntu # 或 sudo firewall-cmd --permanent --add-port=8080/tcp # CentOS sudo firewall-cmd --reload
✅ 验证自动启动
你可以重启服务器测试是否自动启动:
sudo reboot
重启后登录,运行:
sudo systemctl status myapp.service
应显示为 active (running)。
总结
通过 systemd 创建服务是 Linux 上部署 Spring Boot 应用的标准方式,稳定、安全且支持开机自启。在京东云服务器上配置完成后,你的 Spring Boot 应用即可长期稳定运行。
如有需要,也可以结合 Nginx 做反向X_X,或使用宝塔面板简化管理。
如需脚本自动化部署,也可提供帮助。
CLOUD云计算