一:概述
本文将描述在CentOS7上安装RabbitMQ3.7.17,当然前提是需要安装Erlang,本文采用Erlang版本为21.x。具体相关RabbitMQ与Erlang版本兼容可以查阅
RabbitMQ官网
,RabbitMQ安装的方式很多,接下来介绍的将是通过yum安装。Erlang采用RabbitMQ官网剥离的零依赖版本,通过Bintray Yum存储库下载安装。其余CentOS版本亦或是yum存储库安装移步
RabbitMQ github文档
查阅获取。
重要的一点就是这些操作最好在root用户下执行,不然不保证成功
二:Erlang安装
使用Bintray Yum存储库下载安装Erlang前需要配置.repo文件,执行如下命令
vim /etc/yum.repos.d/rabbitmq-erlang.repo
添加如下内容,其实通过官网文档亦或是下面的内容基本可以清楚如果想安装Erlang22版本只需要修改
baseurl = https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/ 7
即可,至于CentOS6的问题也是修改最后的7为6即可
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
使用如下命令进行安装,安装完成后输入erl命令如下所示即表示安装成功
yum install -y erlang
三:RabbitMQ安装
与安装Erlang类似,先执行如下命令编辑创建.repo配置文件
vim /etc/yum.repos.d/rabbitmq.repo
增加如下内容,至于RabbitMQ版本改变与CentOS系统版本改变参照上面Erlang的修改。也仅仅是变更
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
即可
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
当然使用yum存储库之前请先执行如下命令导入RabbitMQ 签名秘钥,这使得RPM工具可以信任存储库中提供的包上的签名
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
最后执行命令安装RabbitMQ即可,如果是想要手动安装rpm也可以自行上
官网下载
。版本的问题也可以修改下面命令下载的版本解决,如果安装失败请多重试几次,其实最稳当的方法还是下载rpm安装包手动的去安装
// 先执行下列命令
yum install socat
yum install rabbitmq-server-3.7.17-1.el7.noarch.rpm
四:简单服务运行
默认情况下,在安装RabbitMQ服务器软件包时,服务器不会作为守护程序启动。需要执行以下如下命令
chkconfig rabbitmq-server on
启动停止RabbitMQ服务命令如下所示,执行完毕启动命令就可以看到RabbitMQ的运行进程。使用端口5672与25672
/sbin/service rabbitmq-server start
/sbin/service rabbitmq-server stop
五:开启管理UI
如果是想要开启UI界面的管理则需要执行如下命令开启,执行完毕命令后可以查到15672端口开始使用,并且使用浏览器访问http:///ip:15672会进入登陆页面
rabbitmq-plugins enable rabbitmq_management
但是使用RabbitMQ默认的用户guest无法登陆,提示告诉你这个用户只能在RabbitMQ服务部署的本机登陆,如下所示
只需要执行如下命令后找到高亮部分的配置,将其后面中括号里的内容全部去掉即可
vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.17/ebin/rabbit.app
执行如下命令重启RabbitMQ的服务
systemctl restart rabbitmq-server.service