Files
README/e1_linux添加systemd服务.md
T

1.4 KiB
Raw Blame History

创建服务文件

以pyhon项目为例

编辑

sudo nano /etc/systemd/system/pykins.service

文件内容

[Unit]
Description=python CICD service
After=network.target

[Service]
User=root          # 替换为实际用户名(如 ubuntu、root 等)
WorkingDirectory=/pathToProject   # 项目根目录(包含 .venv 和 main.py)
ExecStart=/pathToProject/.venv/bin/python main.py
Restart=always
RestartSec=10

# 不使用 journal管理日志,直接重定向到文件
# StandardOutput=append:/pathToProject/main.log  # 日志文件
# StandardError=append:/pathToProject/main.log # 错误日志与正常日志写在同一个文件,便于还原上下文

[Install]
WantedBy=multi-user.target

重载systemd服务并启用服务

# 重载配置
sudo systemctl daemon-reload

# 开机自启(可选)
sudo systemctl enable myblog.service

# 启动服务
sudo systemctl start myblog.service

相关命令

# 启动
sudo systemctl start myblog
# 停止
sudo systemctl stop myblog
# 重启
sudo systemctl restart myblog
# 查看状态
sudo systemctl status myblog

查看日志

# 实时跟踪日志(类似 tail -f)
sudo journalctl -u myapp.service -f
# 查看该服务的所有日志
sudo journalctl -u myapp.service
# 查看今天的日志
sudo journalctl -u myapp.service --since today
# 按 SyslogIdentifier 过滤(需配置该项)
sudo journalctl -t myapp