supervisor用來管理非daemon程序!將自動轉換為daemon程序
安裝:
yum install supervisor
配置:
默認配置文件路徑:
/etc/supervisord.conf
主要幾個配置更改
1.可以通過一個http網頁進行管理,這里默認都是關閉的,開啟修改用戶名,密碼即可,記住地址默認127.0.0.1
[inet_http_server] ; inet (TCP) server disabled by default port=0.0.0.0:9001 ; (ip_address:port specifier, *:port for all iface) username=user ; (default is no username (open server)) password=123 ; (default is no password (open server))
2.修改擴展配置,默認是.ini,修改.conf
[include] files = supervisord.d/*.conf
3.擴展配置示例
vim /etc/supervisord.d/car_push.conf
[program:car_push] ;process_name=%(program_name)s_%(process_num)02d ;process_name=car_push;定義supervisor內部進程名稱,通過這個可以啟動,停止,重啟 command=/usr/bin/php /home/wwwroot/project/car/artisan car:push ;跟隨supervisor啟動 autostart=true ;程序異常之后自動重啟 autorestart=true ;啟動5秒之后,沒有異常當做正常啟動 startsecs=5 ;啟動失敗之后嘗試重啟幾次 startretries=3 user=www ;啟動進程數量,注意這里如果大於1,則process_name則%(program_name)s_%(process_num)02d只能這樣類似指定,要不然進程名會重復 numprocs=1 redirect_stderr=true ;stdout 日志文件大小,默認 50MB stdout_logfile_maxbytes=30MB ;stdout 日志文件備份數 stdout_logfile_backups=10 stdout_logfile=/home/wwwroot/project/car/storage/wslogs/ws.log;
常用命令
啟動程序
supervisord -c /etc/supervisord.conf
關閉supervisor
1.關閉所有的服務,傳統,可以寫腳本
supervisorctl stop all
ps -aux |grep sup
kill 對應進程號
查看進程啟動狀態
supervisorctl status
關閉某個進程
supervisorctl stop car_push
啟動/重啟某個進程
supervisorctl start/restart car_push
重新加載
supervisorctl update car_push
重新加載新任務
supervisorctl reread
supervisorctl update car_push
supervisorctl start car_push
通過網頁進行管理
通過上面配置文件中配置http服務,可以打開對應的地址端口進行網頁管理