systemd 服务管理与开机自启配置详解

编写一个基础 unit 文件 # /etc/systemd/system/myapp.service [Unit] Description=My Application After=network.target [Service] Type=simple User=appuser Group=appuser WorkingDirectory=/opt/myapp ExecStart=/opt/myapp/venv/bin/python app.py Restart=on-failure RestartSec=5 Environment=PYTHONUNBUFFERED=1 EnvironmentFile=-/opt/myapp/.env [Install] WantedBy=multi-user.target 关键字段说明: Type=simple:主进程即服务本身,适合大多数常驻程序 Restart=on-failure:进程异常退出时自动重启,避免服务假死 EnvironmentFile=-:前缀 - 表示文件不存在也不报错 常用管理命令 sudo systemctl daemon-reload # 修改 unit 文件后重新加载 sudo systemctl start myapp sudo systemctl enable myapp # 设置开机自启 sudo systemctl status myapp sudo systemctl restart myapp sudo systemctl stop myapp sudo systemctl disable myapp 查看日志 journalctl -u myapp -f # 实时跟踪日志 journalctl -u myapp --since today journalctl -u myapp -p err # 只看错误级别日志 资源限制 对 AI 推理等资源密集型服务,建议在 unit 中限制资源占用,避免单个服务拖垮整机: ...

2026-07-27 · 1 min · 118 words · ITNote