CentOS 7 下安装RabbitMQ教程
一、做准备(VMWare 虚拟机上的 CentOS 7 镜像 上安装的)
(1)准备RabbitMQ的安装包(rabbitmq-server-3.8.5-1.el7.noarch)下载地址mq
(2)还得准备erlang语言(erlang-21.3.8.16-1.el7.x86_64)erlang下载地址
(3)这两个软件的对应版本 地址
也可以使用下载好的离线安装包
离线安装包,公开免费的,如遇收费请下方留言
二、可用mobaxterm上传离线文件到虚拟机
三、安装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 -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] ...
不用重启服务,直接访问即可。