首页 / 技术文章 / 服务器运维

Python / Node 服务怎么用 systemd 设置开机启动与自动重启

介绍 systemd service 的 ExecStart、WorkingDirectory、Environment、Restart、日志和 enable/start 基础配置。

这篇文章用于帮助你自己判断问题和整理需求。不同服务器、代码框架和第三方平台配置可能不同,生产环境修改前应先备份并验证。

不要用 screen 当正式守护方式

  • screen/tmux 适合临时运行,生产服务更需要可重启、可查看状态和开机恢复。

service 文件关键字段

  • WorkingDirectory 指向项目目录,ExecStart 使用明确的解释器/可执行文件路径,EnvironmentFile 存放非敏感配置引用。

设置重启策略

  • Restart=on-failure 或 always 要结合程序行为选择,并设置适当 RestartSec。

查看日志

  • journalctl -u 服务名 -f 可以直接跟踪 stdout/stderr,便于排查启动失败。

常见问题

修改 service 文件后为什么不生效?

需要 systemctl daemon-reload,再 restart 对应服务。

虚拟环境怎么写?

ExecStart 直接使用 venv/bin/python 或 venv/bin/gunicorn 等可执行文件路径。

相关内容

把需求说清楚,
把技术交付做完整。

把现状、目标、参考页面或报错信息发过来。先确认范围和可交付结果,再开始实施。