debian

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

小樊
53
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
看了该问题的人还看了