引子
之前装过3.7.x的,最新的已经到了3.8.5,RabbitMQ恶心的一点就是版本太混乱,而且每隔几个版本,安装方式都略有不同,这次再来更新一下吧。
安装RabbitMQ
- 看官网:https://www.rabbitmq.com/install-rpm.html
- 看匹配版本:https://www.rabbitmq.com/which-erlang.html
那么3.8.5的对应erlang版本区间如上图,这个要匹配。rabbitmq和erlang的版本对应都需要匹配上,才能安装rabbitmq,也就是说必须得有erlang的环境,就跟java需要jvm一个道理。
- 随后点击步骤1中第一个红框链接
Install: RPM-based Linux
,进入安装,Windows和mac安装相对简单,就不多说了,我们主要说说在linux中的安装。打开这个链接后看到其实挺乱的,要一个个去看才行,也没有大小标题和序号,给第一次进来的开发者很不友好的感觉,尤其是英文不太好的,,,不过没关系,跟着步骤一步步就能安装。找到Install RabbitMQ Server
,如下图:
上图中点击第一个链接install a recent Erlang version via yum
,进入到如下页面:
这个是用于安装erlang的前置脚本文件,拷贝一下到自己的linux系统进行运行:
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
运行后看到如下提示,说明文件依赖库已经配置好了,现在可以继续往下安装了。
- 在linux中安装erlang环境:
yum install erlang
运行后安装成功
- 安装完毕erlang以后可以检查一下版本号等信息,如下:
- 通过上面的脚本检测,可以看到erlang的版本是符合23.x的
- 那么接下来就要安装rabbitmq-server了,之前的截图里有下面黑色一块内容,这里面需要导入两个key,直接复制一下到linux运行即可:
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
rpm --import https://packagecloud.io/gpg.key
导入key成功,不报错就OK。
- 然后再为安装
rabbitmq-server
做一个前置准备:
点击红框中的Package Cloud
,打开后如下:
拷贝这段命令到linux并且运行:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
提示安装成功,接下来就可以正式安装rabbitmq的安装包了!
- 安装RabbitMQ-Server,找到
Download the Server
,然后下载红框中的rpm,这个需要安装,下载的时候根据自己的centos版本去下载,我这里用的centos7,那么centos6有点老,centos8太新了。
- 上传上图中下载的rpm文件到自己的linux系统:
- 安装rabbitmq-server,运行如下脚本:
rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
运行后报错:
图中这是说没有key,也没有socat,没关系,装上就行。找到这个位置,然后复制key到命令行中运行:
复制到命令行运行导入:
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
- 再次运行安装
rabbitmq-server
的脚本:rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
这个时候提示需要安装socat
,运行如下脚本进行安装,安装过程比较慢,耐心等待即可:
yum -y install epel-release
yum -y install socat
- 上面两个安装OK后,随后就再次安装rabbitmq-server
rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
这个时候如上图,rabbitmq安装完毕!!
配置RabbitMQ
- RMQ已经安装完毕,但是还需要配置一下才能使用。
- 以前的版本是可以直接找到的,现在得去手动复制一下,https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example,这个连接样例配置文件
- 复制里面的配置内容到本地,重命名为
rabbitmq.conf
,如下:
- 然后修改文件内容,务必注意,大括号最后没有
逗号
:
这个是代表运行 guest 默认用户可以在非本地环境登录
- 上传配置文件到rabbitmq目录:
- 随后启用rabbitmq的管理平台插件,启用以后会在/etc/rabbitmq 目录下多出一个 enabled_plugins,字面意思应该能理解,不多说,就是开启插件
- 到此配置全部结束,最后一步就是启动rabbitmq server了
service rabbitmq-server start
启动以后报错,真是坑。。。
- 遇到坑不要怕,尝试自己去解决就行,输入命令行:
journalctl -xe
然后有这么一句话,说是节点rabbit
没有启动,连不上,看一下图中内容,连接到某个端口不行,看到端口第一反应就是端口占用
,检查一下
检查端口:
然后kill进程
- 最后再次重启RabbitMQ
service rabbitmq-server start
- 这个时候又报错了,,,看一下吧,配置文件格式有问题,我们之前增加了一行配置,是用guest,那么现在我们注释掉
- 注释以后重启,矮油居然可以启动成功了:
- 打开默认的mq管理界面,用户名密码默认都是guest,登录提示说该用户只能在localhost中登录,也就是只能在虚拟机里登录。
- 在配置文件中看到这么一句话,想要让guest用户在任何地方都能有权限访问,则把注释去了,那么现在去了试试看,不要忘记重启mq服务
- OK了,这个时候可以登录进去,也就是说现在新版本的mq对guest的开放访问形式和以往不同了,很坑,这一点需要注意
- 添加新的管理员用户admin:
- 给admin提供权限
- 直接点击set即可
小节
欧了,RabbitMQ 搞定安装完毕,装mq是一直以来很糟心的事,一不小心就失败。后续空了录个视频,会发出来。
另外关于rabbitmq更多配置信息可以参考如下链接:https://www.rabbitmq.com/configure.html