一、RabbitMQ 快速使用 - 源码安装 RabbitMQ

作者: 温新

分类: 【PHP RabbitMQ】

阅读: 1154

时间: 2023-02-27 07:07:29

hi,我是温新,一名 PHPer

版本:erlang-25.2.1、rabbitmq_server-3.11.9

系统版本:Rocky Linux 9.1

学习目标:把 MQ 跑起来

本篇文章结合官方文档编写及参考网络资料编写,虽非全部原创,但也是结合了自己的理解,若转载请附带本文 URL,编写不易,持续编写更不易,谢谢!

最近快速上手了 ES 搜索引擎,这其中我发现一个问题,几度让我有点想放弃,那就是环境的搭建,ES 环境的搭建要求即使是小版本也需要保持一致,否则就跑不起来。

对于 ES,我原本安装的是最新版的 ES 8.6.1,而使用中文分词时,ik 的最新版本是 8.6.0,由于版本的不一致最终导致 ES 无法启动,最后重新下载了 ES 8.6.0 才得以正常运行。

在此之前,我对 ES 进行了一个大致了解,但是在环境安装时,有点打击人,跑都跑不起来,了解再多都只能是纸上谈兵。因此,我自己对学习其他技术有了一个基本的操作,无论是哪种技术:

  • 第一步,了解这个技术啥,用来干嘛的,就可以了;
  • 第二步,跑环境跑起来;
  • 第三步,再回过头来仔细了解这个技术,它是什么,解决了什么问题,为什么要使用它,怎么使用它。

基于 MQ 的学习,也是基于这三个步骤。拿 ES 举例子,很快就可以上手使用,但若是因为环境安装而导致放弃,确实太冤枉了。我们需要一种激励,把环境跑起来就是一种小小的成就感。有了成就感才能保持跟打了鸡血一样,才有无穷动力。

Rabbitmq 是用 Erlang 语言开发,因此,需要先把 Erlang 安装上。需要注意的是版本问题,比如我这里使用的是 Rabbitmq 3.11.9 ,它对应的 Erlang 版本是 25.2。

查看版本对应情况:https://www.rabbitmq.com/which-erlang.html

源码安装 Erlang 25.2.1

1、安装依赖

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">dnf <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">-y</span> install <span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">gcc</span> glibc-devel <span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">make</span> ncurses-devel openssl-devel xmlto perl gtk2-devel binutils-devel wxWidgets-devel</span>

2、下载 Earlang

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">wget</span> https://github.com/erlang/otp/releases/download/OTP-25.2.1/otp_src_25.2.1.tar.gz</span>

3、安装

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">tar <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">-zxvf</span> OTP-25.2.1/otp_src_25.2.1.tar.gz</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">cd</span> otp_src_25.2.1</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">./configure <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">--prefix</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">=</span>/usr/local/erlang-25.2.1</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">make</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">make</span> install</span>

4、配置环境变量

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">echo</span> <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'export PATH=$PATH:/usr/local/erlang-25.2.1/bin'</span> >> /etc/profile</span>

5、刷新环境变量

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">source</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">etc</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">profile</span></span>

源码安装 RabbitMQ-3.11.9

1、下载源码

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">wget</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">https</span>:<span style="box-sizing: border-box;color: rgb(98, 151, 85) !important">//github.com/rabbitmq/rabbitmq-server/releases/download/v3.11.9/rabbitmq-server-generic-unix-3.11.9.tar.xz</span></span>

2、安装

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">tar</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">xvf</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmq</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">server</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">generic</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">unix</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">3.11</span>.<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">9.</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">tar</span>.<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">xz</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">mv</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmq_server</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">3.11</span>.<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">9</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">usr</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">local</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span></span>

3、配置环境变量

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">echo</span> <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'export PATH=$PATH:/usr/local/rabbitmq_server-3.11.9/sbin'</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">>></span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">etc</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">profile</span></span>

4、刷新

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">source</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">etc</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">profile</span></span>

5、安装 web 管理页面插件

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">usr</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">local</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmq_server</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">3.11</span>.<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">9</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">sbin</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmq</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">plugins</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">enable</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmq_management</span></span>

6、查看 mq 用户(可省略)

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">list_users</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">    </span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">Listing</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">users</span> ...</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">user</span>    <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">tags</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">guest</span>   [<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">administrator</span>]</span>

7、添加用户并授权设置 tag

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># 添加用户</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">add_user</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">hy</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">123456</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># 授权</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">set_permissions</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">p</span> <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"/"</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">hy</span> <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">".*"</span> <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">".*"</span> <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">".*"</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># 添加组</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">set_user_tags</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">hy</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">administrator</span></span>

8、查看用户权限(可省略)

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">set_user_tags</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">hy</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">administrator</span></span>

9、启动、停止

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># 启动</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">usr</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">local</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmq_server</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">3.11</span>.<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">9</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">sbin</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">/</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmq</span><span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">server</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">detached</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># 查看状态</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">status</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># 停止服务</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">stop</span></span>

10、访问

<span style="color: rgb(238, 236, 225);">http://192.168.16.131:15672/#/</span>
请登录后再评论