龙空技术网

进程守护工具Supervisor的部署使用

运维老郭不背锅 368

前言:

眼前我们对“centos 进程守护”可能比较关注,你们都需要了解一些“centos 进程守护”的相关文章。那么小编也在网上收集了一些关于“centos 进程守护””的相关文章,希望咱们能喜欢,各位老铁们快快来学习一下吧!

简介

Supervisor()是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。

工具主要包含如下:

supervisord:supervisor的服务程序。

supervisorctl:控制被supervisor管理的进程的命令行工具

Supervisor安装

#centos 7yum install python-setuptoolspip:pip install supervisor。easy_install:easy_install supervisor#centos 6.5pip install supervisor==3.1.3easy_install supervisor==3.1.3

生成supervisord的配置文件:

echo_supervisord_conf > /etc/supervisord.conf

配置supervisord:

在supervisord.conf最后增加(分号后边的表示注释):

#  测试例子[program:byx-signxj-manage]command=xxxx  #脚本directory= xxxx/  #命令或者脚本路径autostart=trueautorestart=truestartsecs=3user=rootredirect_stderr = truestdout_logfile=/tmp/ss.logstderr_logfile=/tmp/ss1.log
配置非root用户管理应用
[unix_http_server]file=/tmp/supervisor.sock   ; the path to the socket filechmod=0700                 ; socket file mode (default 0700)chown=ceshi:ceshi       ; socket file uid:gid owner
Supervisor 服务设置开机自启动

1、编写 Unit 文件:supervisord.service:

#supervisord.service[Unit]Description=Supervisor daemon[Service]Type=forkingExecStart=/bin/supervisord -c /etc/supervisord.confExecStop=/bin/supervisorctl shutdownExecReload=/bin/supervisorctl -c /etc/supervisord.conf reloadKillMode=processRestart=on-failureRestartSec=42s[Install]WantedBy=multi-user.target

2.将上述文件拷贝到 /usr/lib/systemd/system/ 目录下

3.将 supervisor.service 注册到系统中

systemctl enable supervisord.service

4.验证一下是否为开机启动

systemctl is-enabled supervisord

5、启动命令

systemctl supervisord start
systemctl supervisord start

标签: #centos 进程守护