CentOS 7 下离线安装RabbitMQ教程

时间:2024-04-06 13:36:33

CentOS 7 下安装RabbitMQ教程
一、做准备(VMWare 虚拟机上的 CentOS 7 镜像 上安装的)
(1)准备RabbitMQ的安装包(rabbitmq-server-3.8.5-1.el7.noarch)下载地址mq

https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el7.noarch.rpm

(2)还得准备erlang语言(erlang-21.3.8.16-1.el7.x86_64)

https://packagecloud.io/rabbitmq/erlang

(3)这两个软件的对应版本 地址

https://www.rabbitmq.com/which-erlang.html

也可以使用下载好的离线安装包

链接:https://pan.baidu.com/s/1N_sFWEMkDrXO8_AXDJLeBA 
提取码:mclh


离线安装包,公开免费的


懒得找的可以直接下载作者网盘已经下载好的

链接:https://pan.baidu.com/s/1E5FujaeMm2RcJhx1rujrZA 
提取码:zw3n

二、可用mobaxterm上传离线文件到虚拟机


下面的命令如果报无权限错误,命令前加sudo,例:

sudo rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm

三、安装rabbitmq
(1)先在linux上创建一个rabbitmq文件夹用来存放离线文件,示例路径:/opt/rabbitmq


(2)上传文件到目录/opt/rabbitmq


(3)安装erlang语言

rpm -ivh erlang-21.3.8.16-1.el7.x86_64.rpm


(4)安装socat (RPM resource socat(x86-64))

rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm

(5)安装rabbitmq

rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm

现在已经安装完毕!

(6)开机启动,如果你需要的话就添加开机启动(不添加开机启动的不要添加了)

systemctl enable rabbitmq-server


(7)启动rabbitmq

# 启动rabbitmq
systemctl start rabbitmq-server
# 查看rabbitmq状态
systemctl status rabbitmq-server
# 停止rabbitmq
systemctl stop rabbitmq-server


(8)开始配置web管理端,首先停掉mq

# 停止rabbitmq
systemctl stop rabbitmq-server
# 停止开启web管理端
rabbitmq-plugins enable rabbitmq_management
# 然后启动rabbitmq就可以访问管理页面
systemctl start rabbitmq-server


(9)访问页面
在浏览器上面输入你的ip加上15672

ip:15672 就可以访问,如果无法访问,则需要开放15672端口或者直接关闭防火墙

# 查看防火墙状态
systemctl status firewalld
# 关闭防火墙
systemctl stop firewalld
# 开启防火墙
systemctl start firewalld
# 永久关闭防火墙
systemctl disable firewalld

只要关闭了防火墙就可以访问rabbitmq的管理页面

现在远程登录 使用guest账户是登录不上的,因为guest只允许localhost访问。

(10)修改权限,即增加新用户并授权的方式

# 这个是查看rabbitmq下面有多少用户
rabbitmqctl list_users

# 增加账户admin并在设置admin的密码
rabbitmqctl add_user admin 密码

# 设置admin的角色为管理员
rabbitmqctl set_user_tags admin administrator

# 设置admin的权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"


现在可以输入新增的账号和密码就可以访问

附录:
rabbitmq3.8版本默认用户guest访问报错User can only log in via localhost解决方案
在centos7系统上搭建的rabbitmq3.8版本,但是发现跟其他的版本明显有些区别,比如web访问入口guest用户登录问题,报错是只允许通过localhost访问,解决方法是rabbitmq其他版本是修改sbin/rabbitmq.app文件,把其中的一行直接修改成[{rabbit, [{loopback_users, []}]}].再重启rabbitmq即可,但是这里的版本不行,因为没有rabbitmq.app文件。看样子网上大多数都是低版本的rabbitmq的解决方法,于是研究了一下其他的解决方法供参考。

第一种
创建/etc/rabbitmq/rabbitmq.config文件并添加以下内容

[{rabbit, [{loopback_users, []}]}].
BASH 复制 全屏


然后重启rabbitmq服务即可

第二种
只能本机通过localhost方式访问了,一般不安装图形界面,所以这个基本不会选择

第三种
再添加个用户即可,如下所示:

[root@rabbitmq1 ebin]# rabbitmqctl add_user admin 111111
Adding user "admin" ...
[root@rabbitmq1 ebin]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/" ...
[root@rabbitmq1 ebin]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...

不用重启服务,直接访问即可。