温馨提示×

如何在Debian上使用Laravel Horizon监控队列

小樊
61
2025-03-29 06:25:03
栏目: 智能运维

在Debian上使用Laravel Horizon监控队列,你需要按照以下步骤操作:

  1. 安装Laravel Horizon: Laravel Horizon是一个用于监控Laravel队列的仪表板。首先,你需要在你的Laravel项目中安装它。

    composer require laravel/horizon 
  2. 发布Horizon配置文件: 发布Horizon的配置文件到你的项目中,这样你可以根据需要自定义设置。

    php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider" 
  3. 配置队列驱动: 在.env文件中配置你的队列驱动。例如,如果你使用的是Redis,你需要设置以下变量:

    QUEUE_CONNECTION=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 

    确保你的Redis服务器正在运行,并且配置正确。

  4. 启动Supervisor: Laravel Horizon使用Supervisor来管理队列进程。你需要安装Supervisor并配置它来启动你的队列工作器。

    sudo apt-get install supervisor 

    创建一个新的Supervisor配置文件来管理Horizon:

    sudo nano /etc/supervisor/conf.d/laravel-worker.conf 

    在这个文件中添加以下内容(根据你的实际情况调整路径和用户):

    [program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /path/to/your/project/artisan queue:work --sleep=3 --tries=3 --daemon autostart=true autorestart=true user=your-user numprocs=8 redirect_stderr=true stdout_logfile=/path/to/your/project/storage/logs/worker.log stopwaitsecs=3600 

    保存并关闭文件。

  5. 更新Supervisor配置并启动进程: 更新Supervisor的配置并启动你的队列工作器。

    sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start laravel-worker:* 
  6. 访问Horizon仪表板: 默认情况下,Horizon仪表板可以通过访问http://your-domain.com/horizon来查看。如果你在本地开发,可能是http://localhost:8000/horizon

    如果你无法访问仪表板,请确保你的防火墙允许HTTP请求,并且你已经正确配置了Web服务器(如Nginx或Apache)来代理到Laravel应用程序。

  7. 配置SSL(可选): 如果你需要为你的Horizon仪表板配置SSL,你可以使用Let’s Encrypt免费获取证书,并配置你的Web服务器来使用这些证书。

按照这些步骤,你应该能够在Debian上成功设置并使用Laravel Horizon来监控你的队列。记得定期检查你的队列状态,并根据需要调整工作进程的数量。

0