问题:PHP 常驻进程经常出现死掉的情况;
解决方案:使用 Supervisor, 当进程死掉时,可以重启,不局限于 PHP 进程,任何进程,都可以用 Supervisor 进行重启。
1、安装
安装 python 应该就可以了,python 安装包自带 Supervisor
或者用 pip 安装 Supervisor 进程管理工具
参考链接:https://www.cnblogs.com/Dicky-Zhang/p/6171954.html
2、配置
2.1 生成配置文件
在 Mac 下,由于安全规则,默认不能在 /etc/ 下增加配置,不过可以在 /usr/local/etc 目录下创建配置文档,效果是一样的。sudo echo_supervisord_conf > /usr/local/etc/supervisord.conf
可以使用上述命令,生成配置文件。其中,echo_supervisord_conf 命令可以打印所有的默认配置信息;2.2 配置后台管理页面,解开下面的注释就可以了
[inet_http_server]
port=127.0.0.1:9001
username=user
password=123
2.3 配置进程重新启动时的命令,在配置文件中,新增下面几行代码
[program:apple]
process_name=%(program_name)s_%(process_num)02d
command=php artisan apple
autostart=true
autorestart=true
;user=user
numprocs=8
redirect_stderr=true
stdout_logfile=/var/log/supervisor.log
3、启动 supervisor 的守护进程
sudo supervisord -c /usr/local/etc/supervisord.conf
其中,需要用 -c 参数指定配置文件。
4、管理常驻进程
supervisor 守护启动成功后,要自动重启的命令就已经正常运行了。通过本地浏览器,进入管理后台:http://127.0.0.1:9001/,打开效果图如下
可以在后台看到进程的相关信息,如运行了多长时间
也可以,做相关操作,如停止进程、重启进程、查看 log、清除 log