1. 程式人生 > 其它 >守護程序 supervisor

守護程序 supervisor

守護程序 supervisor

安裝配置 supervisor

安裝 supervisor

# sudo su - #切換為root使用者
# yum install epel-release 
# yum install -y supervisor
# systemctl enable supervisord # 開機自啟動 
# systemctl start supervisord # 啟動supervisord服務
# systemctl status supervisord # 檢視supervisord服務狀態 
# ps -ef|grep supervisord # 檢視是否存在supervisord程序

配置 Supervisor

1. 修改/etc/supervisord.conf檔案內容

; files = supervisord.d/*.ini
files = /etc/supervisor/conf.d/*.conf

3. 在/etc/supervisor/下建立 conf.d 資料夾,及 ProjectName.conf (以專案名稱命名的),新增內容如下:

[program:laravel]
process_name=%(program_name)s_%(process_num)02d
command=php /data/wwwroot/laravel/artisan queue:listen --tries=3
autostart=true
autorestart=true
user=www
numprocs=2
redirect_stderr=true
stdout_logfile=/data/wwwlogs/worker.log

4. 執行命令使配置檔案生效

supervisorctl reread
supervisorctl update

5. 重啟 supervisord 或者修改了/etc/supervisord.conf執行

supervisorctl reload

執行

supervisorctl start laravel:*

檢視執行狀態

supervisorctl status
//提示RUNNING代表成功

檢視程序 (ps -ef | grep ProjectName)

ps -ef|grep laravel

常用命令

service supervisord start   #啟動
service supervisord stop    #停止
service supervisord status  #狀態
supervisorctl reread
supervisorctl update
supervisorctl reload
supervisorctl status
supervisorctl shutdown  #關閉所有任務
supervisorctl stop|start program_name #啟動或停止服務
supervisorctl status #檢視所有任務狀態


TP佇列任務程序守護
[program:hy_menglar_com_global_push_task]
command=/usr/local/php/bin/php think queue:listen --queue=global_push_task
directory=/data/wwwroot/hy.menglar.com/menglahy/
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/data/wwwlogs/supervisor/hy_menglar_com_global_push_task.out.log
stderr_logfile=/data/wwwlogs/supervisor/hy_menglar_com_global_push_task.err.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
user=www
priority=999
numprocs=1
process_name=%(program_name)s_%(process_num)02d