Laravel 队列监听Superviso进程管理(消息队列后台监听)

一、安装 Supervisor

在 Ubuntu 系统上,可以使用以下命令安装 Supervisor:

sudo apt-get install supervisor

在CentOS:

sudo yum install supervisor

二、创建 Supervisor 配置文件

安装完成后,Supervisor 的配置文件会被放置在 /etc/supervisor/conf.d/ 目录下

在 /etc/supervisor/conf.d/ 目录下创建一个新的配置文件,例如 laravel-worker.conf

vi /etc/supervisor/conf.d/laravel-worker.conf

编辑配置文件:
在打开的文件中,添加以下配置:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/artisan queue:work kafka --queue=kafka --sleep=3 --tries=3
autostart=true
autorestart=true
user=your_username
numprocs=8
redirect_stderr=true
stdout_logfile=/path/to/worker.log
```
请根据你的实际情况进行修改:
- `command`:用于启动队列监听器的命令。确保替换 `/path/to/artisan` 为你的 Laravel 项目的 `artisan` 文件的绝对路径。
- `user`:用于运行监听器的用户。将 `your_username` 替换为你的实际用户名。
- `numprocs`:指定要启动的监听器进程数。根据服务器的配置和需求进行调整。
- `stdout_logfile`:指定日志文件路径,用于记录监听器的输出日志。

三、更新 Supervisor 配置

运行以下命令,以更新 Supervisor 的配置并启动 Laravel 队列监听器:


  #校验配置文件是否有修改
  supervisorctl reread
  
  #更新配置
  supervisorctl update
  
  #查看supervisor状态
  supervisorctl status
  
 

其余命令:

 
  # 开机自启动
  systemctl enable supervisord


  # 查看是否存在supervisord进程
  ps -ef | grep supervisord        
  
  #给执行权限
  chmod -R +x /etc/supervisor/supervisord.conf

现在,Supervisor 将会管理 Laravel 队列监听器进程,并在服务器启动时自动启动这些进程。如果进程意外终止,Supervisor 会自动重新启动它们。你可以使用 supervisorctl 命令来管理和监控进程的状态。

请注意,根据你的实际需求和服务器配置,可能需要调整配置文件中的参数,如进程数 (numprocs)、重试次数 (--tries)、休眠时间 (--sleep) 等。确保根据你的项目需求和服务器资源进行适当的配置。

你可能感兴趣的:(laravel,Linux,laravel,php,Supervisor)