内容简介:supervisor是一款python开发的软件,可以很方便的守护PHP脚本运行,在Laravel中,可以使用它来守护任务队列进程,并且支援多线程及输出日志。
supervisor是一款 python 开发的软件,可以很方便的守护 PHP 脚本运行,在 Laravel 中,可以使用它来守护任务队列进程,并且支援多线程及输出日志。
-
安装
yum install python-setuptools easy_install supervisor
-
创建配置文件及调整配置
运行下列命令即可生成一个配置文件在
/etc/supervisord.conf
echo_supervisord_conf > /etc/supervisord.conf
接着需要打开这个配置文件,修改一些配置,防止在使用过程中出现一些诡异情况
首先打开配置文件:
vim /etc/supervisord.conf
将下列配置节进行修改:
[unix_http_server] file=/tmp/supervisor.sock; ... [supervisord] logfile=/tmp/supervisord.log; pidfile=/tmp/supervisord.pid; ... ;[include] ;files = relative/directory/*.ini
修改之后:
[unix_http_server] # 替换/tmp 为/var/run file=/var/run/supervisor.sock; ... [supervisord] # 日志文件修改为 /var/log logfile=/tmp/supervisord.log; # pid文件修改为 /var/run pidfile=/var/run/supervisord.pid; ... # 去掉include节点的注释 [include] # 配置文件目录 修改为 /etc/supervisor/*.conf files = /etc/supervisor/*.conf
然后运行下列命令加载这个配置文件:
supervisord -c /etc/supervisord.conf
-
创建项目配置文件
因上面配置项目配置文件的路径为
/etc/supervisor/*.conf
,则将配置文件以laravel-{项目名}.conf
的格式存放于/etc/supervisor/
目录下,例如/etc/supervisor/laravel-toggle.conf
打开这个配置文件,参考配置如下(根据个人需要进行修改):
[program:laravel-toggle] # 这里为项目名,前缀-后缀 process_name=%(program_name)s_%(process_num)02d command=php /home/wwwroot/www.toggle.co.kr/artisan queue:work # 这里填写你的项目artisan所在路径 autostart=true # 是否自动开始 autorestart=true # 是否自动重启(防止进程意外退出) user=root # 使用的用户 numprocs=8 # 使用的进程数量 redirect_stderr=true # 为true的话,stderr的log会并入stdout的log里面 stdout_logfile=/home/logs/worker/toggle.co.kr.log # 日志存放路径(若无记得提前创建目录)
-
运行项目
使用下列命令即可运行项目
sudo supervisorctl reread # 重载supervisor配置 sudo supervisorctl update # 更新项目配置(每次更新配置文件后都需要运行) sudo supervisorctl start laravel-toggle:* # 启动项目 (请根据实际情况修改项目名)
-
全部命令一览
sudo supervisorctl # 直接运行此命令可查看现正运行的任务列表 sudo supervisorctl restart laravel-toggle:* # 此命令可重启项目 sudo supervisord -c /etc/supervisord.conf # 此命令可加载supervisord的配置文件 sudo supervisorctl reread # 每次修改了supervisord.conf都需要此命令重新加载配置 sudo echo_supervisord_conf # 此命令可显示一个默认的supervisord配置文件,可以透过">"管道符写出配置 sudo supervisorctl update # 每次更新或添加了项目的配置文件都需要此命令来更新 sudo supervisorctl start 项目名:* # 此命令可启动项目 sudo supervisorctl restart 项目名:* # 此命令可重启项目 sudo supervisorctl stop 项目名:* # 此命令可停止项目 supervisorctl help # 查看更多帮助信息
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 045.Python线程队列
- Callable,阻塞队列,线程池问题
- 面试官:线程池运行机制如何改为线程池满了,再丢队列?
- 数据结构与算法:队列:队列在线程池等有限资源池中的应用
- 任务与队列 iOS之多线程GCD(一)
- 踩坑 Spring Cloud Hystrix 线程池队列配置
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JS 压缩/解压工具
在线压缩/解压 JS 代码
RGB CMYK 转换工具
RGB CMYK 互转工具