一、安装思路

  1. 安装erlang
  2. 安装socat
  3. 安装rabbitmq
  4. 相关配置
    说明:
  • 由于RabbitMQ是基于Erlang语言开发, 所以在安装RabbitMQ之前, 需要先安装Erlang
  • rabbitmq需要socat依赖, 所以需要先安装socat

二、具体步骤

1. 安装erlang

下载:

wget http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm

安装:

rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm

2. 安装socat

下载:

wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm

安装:

rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm

3. 安装rabbitmq

下载:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm

安装:

rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm

三、启动rabbitmq服务

安装完成后, 还没启动服务, 先查看rabbitmq服务状态, 命令:

service rabbitmq-server status

, 提示:

Error: unable to connect to node rabbit@wangzaiplus: nodedown

OK, 启动rabbitmq服务, 命令:

service rabbitmq-server start

, 检查是否启动成功:

ps -ef | grep rabbitmq

四、启用后台管理插件

此时, 服务已经启动, 但通过浏览器访问
http://localhost:15672或ip:15672
还是不能访问管理界面, 因为还没启用插件, 启用命令:

rabbitmq-plugins enable rabbitmq_management

, 提示
Applying plugin configuration to rabbit@wangzaiplus... started 6 plugins.
即表示启用成功
浏览器远程访问
http://localhost:15672
, 出现登录界面
**注意:**
如果服务器开启了防火墙, 则访问不了, 可以先关闭防火墙或者暴露端口
centos7查看防火墙状态:
firewall-cmd --state
, 关闭后显示
not running
,开启后显示
running
关闭防火墙:
systemctl stop firewalld.service

五、开启用户远程访问

rabbitmq从3.3.0开始, 默认用户
guest
只允许本机访问, 即:
http://localhost:15672, 如果通过ip:port访问, 会发现Login failed, 为了让guest用户能够远程访问, 只需新建配置文件配置loopback_users即可(rabbitmq.config配置文件需手动创建), 步骤如下:

cd /etc/rabbitmq

新建配置文件:

touch rabbitmq.config
vim rabbitmq.config

写入并保存:

[{rabbit, [{loopback_users, []}]}].

重启服务:

service rabbitmq-server restart

重新以guest登录, OK
目前为止, rabbitmq服务已安装完毕

六、rabbitmq服务常用命令

查看rabbitmq服务状态:
systemctl status rabbitmq-server.service
启动服务:
systemctl start rabbitmq-server.service
停止服务:
systemctl stop rabbitmq-server.service
重启服务:
systemctl restart rabbitmq-server.service
设置开机启动:
chkconfig rabbitmq-server on
开启管控台:
rabbitmq-plugins enable rabbitmq_management
关闭管控台:
rabbitmq-plugins disable rabbitmq_management

七、安装步骤总结(如果你懒得看上面一堆废话, 可以直接运行以下命令即可顺利安装好rabbitmq, 坑我都帮你踩完了)

下载erlang:

wget http://www.rabbitmq.com/releases/erlang/erlang-18.3-
1.el7.centos.x86_64.rpm

安装erlang:

rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm

下载socat:

wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm

安装socat:

rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm

下载rabbitmq:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm

安装rabbitmq:

rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm

设置开机启动:

chkconfig rabbitmq-server on

开启rabbitmq服务:

service rabbitmq-server start

启用web管理插件:

rabbitmq-plugins enable rabbitmq_management

设置远程访问登录:

cd /etc/rabbitmq

touch rabbitmq.config

vim rabbitmq.config

写入:

[{rabbit, [{loopback_users, []}]}].
service rabbitmq-server restart

搞定

八、常见错误

1、无法远程访问管理界面, rabbitmq服务安装成功并启动后, 浏览器访问
http://192.168.1.123:15672
发现访问不了, 有以下几个原因:

  • 没有启用管理插件, 解决办法:
rabbitmq-plugins enable rabbitmq_management

服务器开启了防火墙且未开放5672、15672端口, 解决办法: 关闭防火墙或暴露端口, 关闭防火墙命令:

systemctl stop firewalld.service

很重要: 如果服务器使用的是第三方云服务(如腾讯云服务器), 设置了安全组策略, 入站规则没有开放5672、15672端口, 那么也会出现这个问题, 解决办法: 登录云服务器管控台, 配置安全组策略并关联实例即可, 具体配置自行百度

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议