跳到主要内容

使用 systemd 运行后端服务

将后端注册为 systemd 服务后,可以统一管理进程,并在服务异常退出或服务器重启后自动恢复运行。

以下示例假设项目部署在 /opt/pudding-resume,后端可执行文件位于 /opt/pudding-resume/backend/pudding-resume-backend

创建服务单元

使用以下命令创建服务文件:

vim /etc/systemd/system/pudding-resume.service

写入以下内容:

[Unit]
Description=Pudding Resume Backend
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=pudding-resume
Group=pudding-resume
WorkingDirectory=/opt/pudding-resume/backend
EnvironmentFile=/opt/pudding-resume/backend/.env
ExecStart=/opt/pudding-resume/backend/pudding-resume-backend

Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

启动并验证服务

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

# 设置为开机启动并立即运行
sudo systemctl enable --now pudding-resume

# 查看当前状态
sudo systemctl status pudding-resume --no-pager
提示

服务正常启动后,可在服务器本机通过 http://127.0.0.1:8080 访问后端。如需调整监听端口,请修改 .env 中的 SERVER_PORT,然后重启服务。

常用运维命令

# 实时查看日志
sudo journalctl -u pudding-resume -f

# 查看最近 100 条日志
sudo journalctl -u pudding-resume -n 100 --no-pager

# 重启服务
sudo systemctl restart pudding-resume

# 停止服务
sudo systemctl stop pudding-resume
提示

修改服务文件后,需要再次执行 sudo systemctl daemon-reload;仅修改 .env 或替换后端可执行文件时,重启服务即可使变更生效。