在服务器上配置 Spring Boot 应用作为服务(Service)启动通常涉及创建一个 Systemd 服务单元。Systemd 是 Linux 系统中常用的系统和服务管理器。

以下是配置 Spring Boot 应用作为 Systemd 服务的一般步骤:

1. 创建一个 Systemd 服务单元文件

/etc/systemd/system/ 目录下创建一个新的 .service 文件,比如 my-spring-boot-app.service

sudo nano /etc/systemd/system/my-spring-boot-app.service

2. 编辑服务单元文件

在文件中添加类似以下内容的配置,根据你的实际情况修改路径和参数:

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

[Service]
User=your-user
ExecStart=/usr/bin/java -jar /path/to/your/spring-boot-app.jar
SuccessExitStatus=143
Restart=on-failure

[Install]
WantedBy=multi-user.target
  • Description: 描述服务的简短说明。
  • User: 用于运行 Spring Boot 应用的用户。
  • ExecStart: 指定启动命令,包括 Java 命令和 Spring Boot JAR 文件的路径。
  • SuccessExitStatus: 成功退出的状态码。
  • Restart: 定义服务在失败时是否自动重启。
  • WantedBy: 定义服务应该在何时启动,这里是 multi-user.target 表示多用户模式启动时启动。

3. 重新加载 Systemd 并启动服务

保存并退出编辑器后,重新加载 Systemd 并启动你的服务:

sudo systemctl daemon-reload
sudo systemctl start my-spring-boot-app

4. 验证服务状态

可以使用以下命令来检查服务的状态:

sudo systemctl status my-spring-boot-app

5. 设置开机自启动(可选)

如果你想让服务在系统启动时自动启动,可以使用以下命令:

sudo systemctl enable my-spring-boot-app

注意事项:

  • 替换配置文件中的 your-user 为你的实际用户名,/path/to/your/spring-boot-app.jar 为你的 Spring Boot 应用的路径。
  • 确保 Java 已经安装并且可以在系统中正确运行。
  • 通过 Systemd 启动的服务会在后台运行,你可以使用 sudo journalctl -u my-spring-boot-app.service 查看服务的日志。