一、Supervisor 是一个 Python 开发的 client/server 系统,能够管理和监控类 UNIX 操做系统上面的进程。能够很方便的用来启动、重启、关闭进程(不单单是 Python 进程)。nginx
二、Supervisor 安装完成以后,能够编写配置文件,来知足本身的需求。为了方便,咱们把配置分红两部分:supervisord(这是 server 端,对应的有 client 端:supervisorctl)和应用程序(即咱们要管理的程序)。redis
三、Supervisord 要求管理的程序是非daemon程序,supervisord 会帮你把它转成daemon程序,所以若是用supervisord来管理nginx的话,必须在nginx的配置文件里添加一行设置daemon off让nginx以非daemon方式启动,固然了,redis等亦如是。 bash
一、安装supervisor测试
[root@localhost ~]# pip install supervisor
二、测试supervisor安装是否成功操作系统
[root@localhost ~]# echo_supervisord_conf
三、卸载supervisor命令行
[root@localhost ~]# pip uninstall supervisor
supervisor安装完成后会生成三个执行程序:supervisortd、supervisorctl、echo_supervisord_conf。分别是supervisor的守护进程服务(用于接收进程管理命令)、客户端(用于和守护进程通讯,发送管理进程的指令)、生成初始配置文件程序。日志
安装 supervisor 完成以后,能够编写配置文件,来知足本身的需求。为了方便,咱们把配置分红两部分:supervisord(这是 server 端,对应的 client 端:supervisorctl)和应用程序(即咱们要管理的程序)。首先来看 supervisord 的配置文件。server
一、经过运行 echo_supervisord_conf 命令生成 supervisor 的初始化配置文件:supervisord.conf(supervisord.conf文件的位置无所谓,这里看成第二个位置)blog
[root@localhost ~]# echo_supervisord_conf > /etc/supervisord.conf [root@localhost ~]# echo_supervisord_conf > /etc/supervisor/supervisord.conf
二、启动 supervisord 服务(经过 -c 选项指定配置文件路径,若是不指定会按照这个顺序查找配置文件:$CWD/supervisord.conf, $CWD/etc/supervisord.conf, /etc/supervisord.conf):进程
[root@localhost ~]# supervisord -c /etc/supervisord.conf [root@localhost ~]# supervisord -c /etc/supervisor/supervisord.conf
三、查看 supervisord 服务是否在运行:
[root@localhost ~]# ps aux | grep supervisord
四、查看 supervisord 服务是否生效
[root@localhost ~]# ps -ef | grep ProjectName