简介

现在系统管理服务基本都是使用systemd,可以替换supervisor管理服务。

创建systemd的服务条件

vim  /usr/lib/systemd/system/redis_7000.service
[Unit]
Description=Redis_7000
After=network.target

[Service]
Type=forking
PIDFile=/data/redis/redis_7000.pid
ExecStart=/opt/redis/bin/redis-server /opt/redis/etc/7000.conf --supervised systemd
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
LimitNOFILE=655360
PrivateTmp=true
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
RestartSec=5
StartLimitInterval=0
Restart=always

[Install]
WantedBy=multi-user.target

根据实际情况,修改PID,执行文件和配置文件的路径。

自动重启功能

  • Restart=always: 只要不是通过systemctl stop来停止服务,任何情况下都必须要重启服务,默认值为no
  • RestartSec=5: 重启间隔,比如某次异常后,等待5(s)再进行启动,默认值0.1(s)
  • StartLimitInterval: 默认是10秒内如果重启超过5次则不再重启,设置为0表示不限次数重启

sytsemd加载配置文件

systemctl daemon-reload   # 加载配置文件
systemctl enable redis_7000.service #开机启动
systemctl start  redis_7000.service  #启动服务

总结

systemd是属于系统服务,不用再安装supervisor,减少安装的包,而且管理起来也比较方便。