一、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