需求场景
有时候需要将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]三部分
- [Unit]
Description:描述
Documentation:文档
Before:定义启动顺序
After:定义启动顺序
- [Service]
Type=服务类型
User=用户名
Group=用户组
ExecStart: 执行启动脚本
Restart:当服务进程 正常退出、异常退出、被杀死、超时的时候, 是否重新启动该服务
RestartSec:设置在重启服务(Restart=)前暂停多长时间
- [Install]
Alias:服务别名
WangtedBy: 多用户模式下需要的