一个最小服务单元
[Unit]
Description=Example worker
After=network-online.target
[Service]
User=app
WorkingDirectory=/srv/example
ExecStart=/usr/bin/node /srv/example/server.js
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
保存后重新加载并启用:
sudo systemctl daemon-reload
sudo systemctl enable --now example.service
sudo journalctl -u example.service -f
服务应该以专用用户运行,工作目录和环境变量保持明确。遇到反复重启时,先看 systemctl status 和完整日志,再决定是否调整重启策略。