centos7安裝Supervisor 配置

背景:PHP laravel隊列 使用Supervisor 進程監控管理系統

只能Unix系統

Supervisor 官網爲 http://supervisord.org/

安裝

yum install epel-release
yum install -y supervisor

配置文件

默認配置文件:/etc/supervisord.conf

vim /etc/supervisord.conf

例:新增一個laravel隊列的進程

; laravel
[program:laravel-worker]								被管理的進程配置參數,laravel-worker是進程的名稱
process_name=%(program_name)s_%(process_num)02d
command=php /data/demo/laravel/artisan queue:work --queue=high,low		程序啓動命令
autostart=true								 在supervisord啓動的時候也自動啓動
autorestart=true    						 程序退出後自動重啓,可選值:[unexpected,true,false],默認爲unexpected,表示進程意外殺死後才重啓
user=root									 用哪個用戶啓動進程,默認是root
numprocs=1									 監控進程數
redirect_stderr=true						 把stderr重定向到stdout,默認false
stdout_logfile=/data/demo/worker.log		 日誌文件,需要注意當指定目錄不存在時無法正常啓動


[inet_http_server]			    ;HTTP服務器,提供web管理界面
port=0.0.0.0:9001          		; Web管理後臺運行的IP和端口,如果開放到公網,需要注意安全性
username=admin             	 	; 用戶名 (default is no username (open server))
password=admin               	; 密碼 (default is no password (open server))

可視化管理界面

常用命令

supervisorctl status					狀態

在這裏插入圖片描述

supervisorctl  stop laravel-worker(名字)			// 表示停止laravel-worker進程
supervisorctl stop all   					// 表示停止所有進程
supervisorctl start  laravel-worker
supervisorctl restart laravel-worker
supervisorctl reread 						//重載
supervisorctl update						//更新

重啓supervisor時,報錯:

supervisor “no such file” error.
unix:///tmp/supervisor.sock no such file

原因是服務器長期運行系統會清除tmp文件夾下的文件,我們只需要將tmp目錄修改一下即可。
打開配置好的supervisord.conf,將tmp替換爲var/run或者var/log具體看情況修改即可。

之後需要殺掉原來的進程。

ps -aux | grep supervisor
kill ***進程號

重啓服務

supervisord -c /etc/supervisord.conf
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章