RabbitMQ 3.7部署与基本配置

原文连接:http://www.linuxe.cn/post-455.html

系统环境:Centos7

erlang版本:21

RabbitMQ版本:3.7.8

 

一、下载和安装erlang环境

由于RabbitMQ是erlang语言所开发,所以需要先安装erlang环境。在erlang官方https://www.erlang-solutions.com/resources/download.html可以进行RPM包的下载和安装,不过为了解决依赖关系,推荐安装官方yum仓库(还需要配置下EPEL的yum仓库用于其他包的安装)

1 wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
2 rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
3 yum install erlang

 

 

二、下载和安装rabbitmq

在RabbitMQ官方http://www.rabbitmq.com/install-rpm.html#downloads进行RPM包的下载,然后安装RPM包

1 yum install rabbitmq-server-3.7.8-1.el7.noarch.rpm

 

 

三、开启RabbitMQ的Web访问插件,最终效果如图:

 

1 rabbitmq-plugins list  #查看插件情况
2 rabbitmq-plugins enable rabbitmq_management rabbitmq_management_agent  rabbitmq_web_dispatch  #安装插件

 

 

rabbitmq1.png

 

四、启动与关闭RabbitMQ服务

服务监听在5672端口,而Web端是15672。直接运行rabbitmq-server命令可以让服务在前台启动,并且能看到日志信息等提示,当然更多情况我们都是后台启动的

1 rabbitmq-server
2 rabbitmq-server -detached  #后台启动

 

 

mqbuchong1.png

 

rabbitmq2.png

关闭RabbitMQ服务

1 rabbitmqctl stop

当然也可以通过脚本管理服务:

1 systemctl start rabbitmq-server.service

 

 

五、服务启动后可以用浏览器访问验证

默认管理账户和密码都是guset,不过这个时候应该会出现User can only log in via localhost 的提示,意思是说这个用户默认只能通过本地登录。修改配置文件可以解除该限制,让RabbitMQ可以远程登录:

1 vi /etc/rabbitmq/rabbitmq.config  #该文件需要自行创建
2 [{rabbit, [{loopback_users, []}]}].  #增加一行,注意点号要保留
3  
4 systemctl restart rabbitmq-server.service

 

 

六、创建用户与权限

登录Web界面后在admin菜单里可以创建新的管理账户,与使用命令行效果是一样的。主要需要注意的地方就是tags有以下几种:

administrator:超级管理员,什么权限都有

monitoring:可以登录控制台和查看节点信息,比如内存、进程数、磁盘使用等

policymaker:可以登录控制台和制定策略,但是无法查看节点信息

management:仅能登录控制台

其他:无法登录控制台,一般是提供者和消费者

1 rabbitmqctl add_user admin RABBIT_PASSWORD  #创建一个用户,密码请自定义
2 rabbitmqctl set_permissions admin ".*" ".*" ".*"  #给新建的用户配置权限、读权限和写权限
3 rabbitmqctl set_user_tags admin administrator  #用户分组


rabbitmq3.png

 

在用户表格Can access virtual hosts一列中可以看到新创建的用户是no access的,这是说他没有访问虚拟机的权限,这里的虚拟机可以理解为数据库,在右侧找到virtual hosts点击进去可以创建虚拟机和分配权限rabbitmq4.png

 

七、RabbitMQ的其他管理命令

RabbitMQ队列管理命令,控制队列开始或者停止工作,但是不会杀掉进程

1 rabbitmqctl start_app  #开始队列工作
2 rabbitmqctl stop_app  #停止队列工作

RabbitMQ用户管理命令(上面已经有用到过)

1 rabbitmqctl add_user USERNAME PASSWORD  #创建用户
2 rabbitmqctl del_user USERNAME  #删除用户
3 rabbitmqctl change_password USERNAME NEWPASSWORD  #修改用户密码
4 rabbitmqctl set_user_tags USERNAME TAGS  #设置用户权限
5 rabbitmqctl set_permissions -p / USERNAME '.*' '.*' '.*'  #设置用户允许访问的虚拟机以及权限(数据库)
posted @ 2019-05-14 14:55  叨叨的蜗牛  阅读(1716)  评论(0编辑  收藏  举报