在服务器上配置 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
查看服务的日志。