CentOS7 下安装 RabbitMQ

最近的新项目考虑到有分布式的需要,感觉加入消息队列不仅能增强各系统直接的协调性,对服务器资源也能提高利用效率,决定试下 RabbitMQ,于是便有了这篇 CentOS7 下安装 RabbitMQ 的笔记。


1、首先安装所需的依赖包。

yum -y install epel-release
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz

2、安装 Erlang。
需要注意的是,RabbitMQ 的版本和 Erlang 的版本是需要匹配的,具体可以参照这里:RabbitMQ Erlang Version Requirements

如果你不想折腾,您可以选择直接

yum -y install erlang

安装 Erlang,而这样默认安装的版本是 03.18.el7,虽然看起来没有对应版本的 RabbitMQ 可以安装,但是实测至少 3.6.5 版本的 RabbitMQ 实际上是可以验证 Erlang 版本通过并安装,后续的使用也没有问题。
3.6.5.1

但是在这里我还是选择安装最新的版本,反正是个人项目,在新特性和版本稳定之间有选择的情况下,前项对我的吸引力开始更大,反正记了笔记大不了回退就是了。

# 更新 yum 源至最新
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
# 安装 Erlang
yum install erlang

完成后检查 Erlang 版本

yum info erlang

Erlang 版本

3、安装 RabbitMQ。
Erlang 版本为最新的话,理论上 RabbitMQ 的版本可以随便挑,这里我就挑当前最新的吧。
3.8.17

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.17/rabbitmq-server-3.8.17-1.el7.noarch.rpm
yum -y install socat
rpm -ivh rabbitmq-server-3.8.17-1.el7.noarch.rpm

注意,3.8.17-1.el7 的 el7 所代表的就是 CentOS7 系统所适用的包 结束后检查一下

rabbitmq-server status

检查
没有问题的话将可视化管理界面一并安装:

rabbitmq-plugins enable rabbitmq_management

4、启动服务并配置用户。
首先启动服务:

systemctl start rabbitmq-server
rabbitmqctl status

然后开放防火墙和端口组,来确保可视化管理界面也运行成功,默认地址及端口:http://127.0.0.1:15672,IP 请自行替换,出现以下界面说明启动成功。
启动成功
接下来配置用户,指令如下:

#添加新用户,用户名为"root",密码为"root"
rabbitmqctl add_user root root
#设置用户为管理员角色
rabbitmqctl set_user_tags root administrator 
#授权远程访问    
rabbitmqctl set_permissions -p / root "." "." ".*"  

登录成功后的页面

5、设置为开机自启动。

systemctl enable rabbitmq-server

至此结束。