Web Development

/ 0评 / 10/ 最后更新:2021-12-06
systemctl设置开机启动,管理service

需求场景

有时候需要将go项目或其他项目加入service,并且实现开机自启动。

配置文件

systemd有两处可以配置,一处为系统配置文件位于/etc/systemd/system/,一处为用户配置文件/user/lib/systemd/system/,一般新增的开机启动service建议放在系统配置文件下。

步骤一:新增service文件

在/etc/systemd/system/目录下新增一个配置文件,如prometheus.service

[Unit]
Description=Prometheus
After=network-online.target

[Service]
ExecStart=/home/go-projects/prometheus-2.19.2.linux-amd64/prometheus.sh
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

步骤二:执行systemctl命令

#刷新配置
sudo systemctl daemon-reload
#设置开机启动
sudo systemctl enable prometheus
#启动服务
sudo systemctl start prometheus

service文件参数说明

service文件分为[Unit],[Service],[Install]三部分

Description:描述
Documentation:文档
Before:定义启动顺序
After:定义启动顺序

Type=服务类型
User=用户名
Group=用户组
ExecStart: 执行启动脚本
Restart:当服务进程 正常退出、异常退出、被杀死、超时的时候, 是否重新启动该服务
RestartSec:设置在重启服务(Restart=)前暂停多长时间

Alias:服务别名
WangtedBy: 多用户模式下需要的

详细文档

service中文文档
service英文文档

10

Leave a Reply

Your email address will not be published. Required fields are marked *