Supervisor守護進程安裝

介紹

Supervisor是比較常用的進程管理工具,支持 Linux/MacOS平臺,可以用來控制一組Linux/Unix進程(啟動、重啟、kill)等,使用Supervisor管理的進程,可以做到以守護進程的方式運行,服務異常關閉後可以自動重啟。

Supervisor 有下面幾個組件:

supervisord: Supervisor的服務端程序,使用前,需要先啟動該組件;

supervisorctl: Supervisor的客戶端程序,用來實際控制子進程(自定義的服務、程序);

Supervisor 通過配置文件,還可以啟動Web控制檯,通過Web頁面來管理子進程;

安裝

<code>[root@ ~]# yum -y install python-setuptools[root@ ~]# easy_install supervisor[root@ ~]# supervisord -v/<code>

配置

<code>[root@ ~]# mkdir /etc/supervisor[root@ ~]# echo_supervisord_conf > /etc/supervisord.conf[root@ ~]# vi /etc/supervisord.conf;修改include配置,去除註釋[include]files = /etc/supervisor/*.conf#開啟web遠程查看[inet_http_server]         ; inet (TCP) server disabled by defaultport=*:9001        ; ip_address:port specifier, 0.0.0.0:port for all ifaceusername=user              ; default is no username (open server)password=123               ; default is no password (open server)/<code>

配置開機啟動

<code>[root@ ~]# vi /lib/systemd/system/supervisor.service[Unit]Description=supervisorAfter=network.target[Service]Type=forkingExecStart=/usr/bin/supervisord -c /etc/supervisord.confExecStop=/usr/bin/supervisorctl $OPTIONS shutdownExecReload=/usr/bin/supervisorctl $OPTIONS reloadKillMode=processRestart=on-failureRestartSec=42s[Install]WantedBy=multi-user.target/<code>

開啟服務

<code>[root@ ~]# systemctl enable supervisor.service/<code>

啟動服務

<code>[root@ ~]# supervisord -c /etc/supervisord.conf/<code>

命令

<code>1.啟動任務supervisorctl start 服務名2.停止任務supervisorctl stop 服務名3.重啟任務supervisorctl restart 服務名4.增加任務之後updatesupervisorctl update5.停止supervisordsupervisorctl shutdown6.重新加載配置文件,停止原有進程並按新的配置啟動、管理所有進程supervisorctl reload7.關閉、開啟所有進程supervisorctl stop allsupervisorctl start all8.關閉、開啟指定進程supervisorctl stop redash_celerysupervisorctl start redash_celery9.查看所有子進程的狀態supervisorctl status/<code>
Supervisor守護進程安裝

<code>1.啟動任務supervisorctl start 服務名2.停止任務supervisorctl stop 服務名3.重啟任務supervisorctl restart 服務名4.增加任務之後updatesupervisorctl update5.停止supervisordsupervisorctl shutdown6.重新加載配置文件,停止原有進程並按新的配置啟動、管理所有進程supervisorctl reload7.關閉、開啟所有進程supervisorctl stop allsupervisorctl start all8.關閉、開啟指定進程supervisorctl stop redash_celerysupervisorctl start redash_celery9.查看所有子進程的狀態supervisorctl status/<code>


分享到:


相關文章: