有人可以分享有关在 Godaddy 共享托管服务器上安装主管队列的分步说明吗?我试图搜索很多,但找不到一个。
1 回答
安装主管的过程将取决于您的服务器运行的操作系统版本。您可以按照此页面上的建议找到您的操作系统。
在任何情况下,您都需要 SSH 访问权限才能在终端和 sudo / root 权限中运行命令。
这是 Debian / Ubuntu OS 的概要。
1/安装beantalkd
安装 beanstalkd(将处理队列的守护进程):
(注意:如果您打算使用一些简单的队列驱动程序,例如“同步”或“数据库”,则可以跳过此步骤 - 在这种情况下,请务必在本指南中进一步替换“beanstalkd”,即在主管配置中文件部分)
sudo apt-get install beanstalkd
sudo nano /etc/default/beanstalkd
取消注释这一行:
START=yes
启动服务:
sudo service beanstalkd start
2/ 添加 Pheanstalk 包
在你的 Laravel 应用程序中,添加 Pheanstalk 包以与 beanstalkd 对话:
(如果您不使用 beanstalkd 驱动程序,请跳过此步骤)
cd /my/laravel/app/dir
composer require pda/pheanstalk
3/ 安装主管
sudo apt-get install supervisor
确保它从服务器开始
sudo service supervisor restart
为您的 laravel 应用程序创建主管配置文件
sudo nano /etc/supervisor/conf.d/myapp.conf
这是一个示例文件,它将启动 2 个线程来监听您的队列。在最终失败之前,每个作业最多会尝试 3 次。确保更改用户和路径以匹配您的 laravel 目录和服务器用户。
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /my/laravel/app/dir/artisan queue:work beanstalkd --tries=3
autostart=true
autorestart=true
user=forge
numprocs=2
redirect_stderr=true
stdout_logfile=/my/laravel/app/dir/storage/logs/worker.log
有关可以在此处配置的其他选项的详细信息,请参阅https://laravel.com/docs/master/queues#running-the-queue-worker 。
4/ 让主管接受更改
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl restart laravel-worker:*
5/ 就是这样,尝试将作业分派到默认队列,检查您的 laravel 日志是否有任何错误。