139-Ubuntu16.04服务器下Supervisor实现php 队列守护进程

96
霄峰
2019.03.12 15:15* 字数 167

Supervisor是Linux系统中常用的进程守护程序,如果队列进程意外关闭,它会自动重启启动队列进程 。

[Superviso 官网] http://supervisord.org/index.html

安装:

$ apt-get install supervisor

配置Supervisor

Supervisor配置文件通常存放在/etc/supervisor/conf.d目录,在该目录中,可以创建多个配置文件指示Supervisor如何监视进程.

下面创建一个开启并监视laravellumen项目的队列queue:work进程的laravel-nst-worker.conf文件

$ cd /etc/supervisor/conf.d
$ vim laravel-nst-worker.conf

配置文件内容如下:

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

command 指要运行的命令
numprocs 指令让Supervisor运行8个进程并监视它们

启动:

$ service supervisor restart

监测:

$ ps -aux |grep php

root     30916  0.0  3.2 378200 32848 ?        Ss   14:59   0:00 php-fpm: master process (/etc/php/7.1/fpm/php-fpm.conf)                      
www-data 30918  0.0  2.0 381084 21108 ?        S    14:59   0:00 php-fpm: pool www                                                            
www-data 30919  0.0  2.5 381364 25696 ?        S    14:59   0:00 php-fpm: pool www                                                            
www-data 30920  0.0  1.9 381084 20312 ?        S    14:59   0:00 php-fpm: pool www                                                            
www-data 30921  0.0  2.0 381148 20424 ?        S    14:59   0:00 php-fpm: pool www                                                            
www-data 30981  0.0  1.9 381144 19892 ?        S    15:00   0:00 php-fpm: pool www                                                            
www-data 31387  0.1  2.8 249072 29104 ?        S    15:12   0:00 php /var/www/nst/artisan queue:work --tries=3
www-data 31388  0.1  2.8 249072 29104 ?        S    15:12   0:00 php /var/www/nst/artisan queue:work --tries=3
laravel & lumen