laravel安装rabbitmq

时间:2024-01-24 20:15:19

要在Laravel中安装RabbitMQ,您可以使用Laravel的官方包 babenkoivan/queue-rabbitmq。以下是安装和配置RabbitMQ的步骤:

composer require babenkoivan/queue-rabbitmq

 注册服务提供者和Facade。在 config/app.php 文件中的 providers 数组中添加以下行:

BabenkoIvan\QueueRabbitMQ\QueueRabbitMQServiceProvider::class,

 在 config/app.php 文件中的 aliases 数组中添加以下行:

'RabbitMQ' => BabenkoIvan\QueueRabbitMQ\Facades\RabbitMQ::class,

生成配置文件

php artisan vendor:publish --provider="BabenkoIvan\QueueRabbitMQ\QueueRabbitMQServiceProvider"

这将在 config 目录下生成一个名为 rabbitmq.php 的配置文件

config/rabbitmq.php 文件中配置RabbitMQ连接信息,包括主机、端口、虚拟主机、用户名和密码等。

'connections' => [
    'default' => [
        'host'           => env('RABBITMQ_HOST', 'localhost'),
        'port'           => env('RABBITMQ_PORT', 5672),
        'vhost'          => env('RABBITMQ_VHOST', '/'),
        'login'          => env('RABBITMQ_LOGIN', 'guest'),
        'password'       => env('RABBITMQ_PASSWORD', 'guest'),
    ],
],

.env 文件中设置RabbitMQ连接信息:

RABBITMQ_HOST=localhost
RABBITMQ_PORT=5672
RABBITMQ_VHOST=/
RABBITMQ_LOGIN=guest
RABBITMQ_PASSWORD=guest

运行迁移以创建存储队列数据的表:

php artisan queue:table
php artisan migrate

配置 .env 文件中的队列驱动:

QUEUE_CONNECTION=rabbitmq

现在,您已经成功在Laravel中安装并配置了RabbitMQ。您可以使用Laravel队列来将任务发送到RabbitMQ队列。例如,您可以使用以下命令将任务推送到RabbitMQ队列:

php artisan queue:work rabbitmq --queue=your_queue_name