win10上跑rabbitmq队列

上一篇文章简单梳理了一下怎么启动rabbitmq队列,但是在真实的项目中队列肯定是在后台监听的。
因此就想想着起一个后台进程,但是我又没有服务器。
就想着在win10上安装一个Ubuntu。
入了一堆坑,简单的梳理一下,省着以后自己忘记了

准备

wsl2是windows内置的linux子系统

1.Win10 版本号为 2004(内部版本19041或更高)即可,如果低于此版本可使用 Windows 10 易升工具手动升级。下载 Windows 10 易升工具:
https://www.microsoft.com/zh-cn/software-download/windows10

2.在Microsoft Store中搜索 Ubuntu,安装20.04此版本
入坑:首次安装的Ubuntu,后来在更新docker到最新版本,配置的时候发现需要wsl2,而默认的ubuntu是wsl1.
因此卸载了wsl1又重新安装的。
在这里插入图片描述

安装完成以后配置一下。完了以后需要重启一下在这里插入图片描述

docker环境

我以前的版本是2.1,太旧了不支持wsl2
在这里插入图片描述
因此更新到了最新版本4.3.1
在这里插入图片描述
跟之前的版本有很大的区别,下面就是开启wsl的配置
在这里插入图片描述

在这里插入图片描述

laradock

以前的版本php的版本是7.1,我本来想配置两个php版本,弄了半天了,死活build不过去,最后放弃了……
从官网从新下载了一个最新的laradock.,因为我的项目是laravel7的,因此我安装了一个7.4的版本。大家按情况配置就行。

上一篇文章说道过在起rabbitmq之前,需要把.env里面用到amqp扩展的都改成true
具体参考:https://blog.csdn.net/hshshshshs1/article/details/121977752?spm=1001.2014.3001.5501

docker-compose  build rabbitmq
docker-compose build php-worker

docker-compose up -d rabbitmq php-work

配置如下

[program:base_work_rabbitmq]

process_name=%(program_name)s_%(process_num)02d
directory=/var/www/base_work
command=php artisan queue:work --queue="rabbit_test"
autostart=true
autorestart=true
numprocs=1
user=laradock
redirect_stderr=true
stdout_logfile=/var/www/base_work/storage/logs/worker.log

启动

winpty docker-compose exec php-worker supervisorctl

在这里插入图片描述

reload
status

在这里插入图片描述

在守护进程里面常用到的命令

status
reload
restart
stop

项目代码

<?php


namespace App\Http\Controllers\Api;


use App\Jobs\RabbitQueue;

class RabbitmqController extends ApiController
{
    public function index()
    {
        RabbitQueue::dispatch()->onQueue("rabbit_test");
        dd(1111111);
    }
}
<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;

class RabbitQueue implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        info("================我来了============rabbit==============");
    }
}

运行代码
在这里插入图片描述
搞定,虽然整理的不多,但是自己在配置的时候花费了好长时间。希望大家少走弯路……一次成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值