9

有人可以分享有关在 Godaddy 共享托管服务器上安装主管队列的分步说明吗?我试图搜索很多,但找不到一个。

4

1 回答 1

3

安装主管的过程将取决于您的服务器运行的操作系统版本。您可以按照此页面上的建议找到您的操作系统。

在任何情况下,您都需要 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 日志是否有任何错误。

于 2017-04-01T17:27:20.790 回答