关于安装 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 版本通过并安装,后续的使用也没有问题。
但是在这里我还是选择安装最新的版本,反正是个人项目,在新特性和版本稳定之间有选择的情况下,前项对我的吸引力开始更大,反正记了笔记大不了回退就是了。
# 更新 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

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

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
至此结束。
