在Debian上使用Laravel Horizon监控队列,你需要按照以下步骤操作:
安装Laravel Horizon: Laravel Horizon是一个用于监控Laravel队列的仪表板。首先,你需要在你的Laravel项目中安装它。
composer require laravel/horizon
发布Horizon配置文件: 发布Horizon的配置文件到你的项目中,这样你可以根据需要自定义设置。
php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider"
配置队列驱动:
在.env
文件中配置你的队列驱动。例如,如果你使用的是Redis,你需要设置以下变量:
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
确保你的Redis服务器正在运行,并且配置正确。
启动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
保存并关闭文件。
更新Supervisor配置并启动进程: 更新Supervisor的配置并启动你的队列工作器。
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:*
访问Horizon仪表板:
默认情况下,Horizon仪表板可以通过访问http://your-domain.com/horizon
来查看。如果你在本地开发,可能是http://localhost:8000/horizon
。
如果你无法访问仪表板,请确保你的防火墙允许HTTP请求,并且你已经正确配置了Web服务器(如Nginx或Apache)来代理到Laravel应用程序。
配置SSL(可选): 如果你需要为你的Horizon仪表板配置SSL,你可以使用Let’s Encrypt免费获取证书,并配置你的Web服务器来使用这些证书。
按照这些步骤,你应该能够在Debian上成功设置并使用Laravel Horizon来监控你的队列。记得定期检查你的队列状态,并根据需要调整工作进程的数量。