RabbitMQ 安装笔记
关于 RabbitMQ 的安装,本来应该是在学习 RabbitMQ 之前进行的,不过当时学习时为了快速上手,就直接用 Docker 来开始开启了一个 RabbitMQ 的实例。这篇部署笔记就是来还债的。
CentOS 7.3 + RabbitMQ 3.7.4
安装
首先看下系统版本,这关系到后边具体下载哪个包
1 |
|
可以看到当前要部署的服务器是CentOS 7.3
版本的
然后访问 http://www.rabbitmq.com/download.html 选最新的 RabbitMQ 的版本3.7.4
,并按下图所示进入 CentOS 版本的安装指引。
进去后选择对应的版本的,我的属于 7.x 的,将对应的 rpm 包下载到本地。上下两个版本是一样的,哪个下载速度快用哪个吧。
下载好 rpm 后先别着急安装的,还需要安装 Erlang 环境。(如果已安装有 Erlang 19.3 以上的版本,可以忽略这步)
RabbitMQ 需要 Erlang 的版本不低于 19.3,推荐是使用 20.x
- We recommend Erlang/OTP 19.3.6.4 or later, earlier versions have known bugs (e.g. ERL-430, ERL-448) that can prevent RabbitMQ nodes from accepting connections (including from CLI tools) and stopping
- For the best TLS support, the latest version of Erlang/OTP 20.x is recommended
直接用yum install erlang
安装的版本是R16B-03.18.el7
,不满足要求。
不用担心,RabbitMQ 贴心的提供了一个 erlang.repo
将以下内容添加到/etc/yum.repos.d/rabbitmq-erlang.repo
1 |
|
然后再次用 yum 安装 erlang 就是20.3.4-1.el7.centos
了
1 |
|
然后开始安装 RabbitMQ
1 |
|
开启rabbitmq_management
以便通过浏览器访问控制台
1 |
|
我们将 RabbitMQ 加入开机自启动并立刻开启
1 |
|
通过systemctl status rabbitmq-server.service
看到如下内容就说明 RabbitMQ 启动成功了
管理控制台的地址默认为 http://server-name:15672 (将其中server-name
替换为你自己的 ip 地址)
RabbitMQ 默认有个 guest 账号,密码也为 guest,但是如果不是从 RabbitMQ 所在机器上试图用这个账号登陆管理控制台的话,会报错误:
1 |
|
“guest” user can only connect via localhost
RabbitMQ - Access Control (Authentication, Authorisation) in RabbitMQ
那我们就自己添加一个账户吧,用户名 yibo 密码 changeit
1 |
|
用这个账户再次尝试登陆,还是报错,说该用户不是管理者
1 |
|
既然说不是管理者,那必然涉及到角色或权限方面的问题。
在 RabbitMQ 中,用户角色可分为五类:
- **超级管理员 (administrator)**:可登陆管理控制台,可查看所有的信息,并且可以对用户、策略 (policy) 进行操作。
- **监控者 (monitoring)**:可登陆管理控制台,同时可以查看 RabbitMQ 节点的相关信息 (进程数,内存使用情况,磁盘使用情况等)
- **策略制定者 (policymaker)**:可登陆管理控制台,同时可以对 policy 进行管理。但无法查看节点的相关信息。
- **普通管理者 (management)**:仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
- 其他:无法登陆管理控制台,通常就是普通的生产者和消费者。
我们就再为该用户赋予超级管理员的角色
1 |
|
再次登陆就 OK 了,熟悉的界面又回来了。
这个一个单节点的 RabbitMQ 服务就搭建好了,后边我们将会继续研究它的配置与集群。
参考
RabbitMQ - Installing on RPM-based Linux (RHEL, CentOS, Fedora, openSUSE)