laravel+supervisor的使用

1、安装supervisor
yum install python-setuptools

easy_install supervisor

yum install supervisor

2、配置supervisor
安装成功后,进行配置。

在/etc 下有

 

其中supervisord.conf 是 supervisor的主配置文件。可以理解为nginx.conf

supervisord.d 是可以存放其他进程的配置文件。即。进程的配置文件可以放在其中。

vim supervisord.conf

修改最后一行为 files = /etc/supervisord.d/*.conf

意思是supervisor会加载/etc/supervisord.d/ 目录下的进程conf配置

启动supervisor

supervisord -c /etc/supervisord.conf

查看supervisor是否启动成功

ps -ef | grep supervisord

 

到此,配置完成

3、创建项目,自定义进程的名称
cd supervisord.d/

举例:创建laravel-worker 的进程

则:touch laravel-worker.conf

vim laravel-worker.conf

如下:

[program:laravel-worker] ;进程名称,一般和文件名称一样
process_name=%(program_name)s_%(process_num)02d ;进程名称,一般和文件名称一样
command= php /www/laravel/artisan rabbitmq:send ; 指令
autostart=true ;是否跟随supervisord的启动而启动
autorestart=true ;程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启stopasgroup=true;进程被杀死时,是否向这个进程组发送stop信号,包括子进程
user=root ;执行进程的用户
startsecs = 1 ;自动重启时间间隔(s)
numprocs=1 ;进程数
redirect_stderr=true ;是否开启是否重定向错误日志至输出日志
stdout_logfile=/etc/supervisord.d/logs/laravelrabbit.log ;日志路径

保存

校验配置文件是否有修改

supervisorctl reread

更新配置

supervisorctl update

查看supervisor状态

supervisorctl status

 

重新启动配置中所有程序

supervisorctl reload

4、常用命令
启动服务 systemctl enable supervisord

查看是否启动 systemctl is-enabled supervisord

停止服务 systemctl stop supervisord

开启服务 systemctl start supervisord

服务状态 systemctl status supervisord

重载服务 systemctl reload supervisord

重启服务 systemctl restart supervisord

5、进程管理
查看所有进程 supervisorctl status

有时候没有权限则:

supervisorctl 输入账号和密码即可

停止某个进程 supervisorctl stop laravel-worker:*

停止所有进程 supervisorctl stop all

启动某个进程 supervisorctl start laravel-worker:*

6、web界面
#第一步 进入配置文件
vi /etc/supervisord.conf

#第二步 把下面配置分号去掉
[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))

#第三步 重载配置
supervisorctl reload

7、laravel-cli
Artisan 命令行 | 综合话题 |《Laravel 5.4 中文文档 5.4》| Laravel China 社区

1、生成命令

例如:php artisan make:command RabbitSend

会在app/Console/Commands 中生成RabbitSend.php文件

2、修改app/Console/Kernel 中的加入以下内容

 

进入 RabbitSend.php 文件

 

 

处理业务逻辑。

执行命令:

php artisan rabbitmq:send

8、带参数的cli


请求地址

 

构造请求



原文链接:https://blog.csdn.net/qq_38191585/article/details/124339282

posted @ 2023-03-09 14:15  星云惊蛰  阅读(200)  评论(0)    收藏  举报