来自 http://blog.csdn.net/zheng911209/article/details/49945677
Rabbit入门到精通系列
搭建系统 环境环境为 Centos 7.2 64位
1.安装erlang
yum install erlang
2.查看erlang是否安装
rpm -qa erlang
3.下载 rabbitmq-server
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.6/rabbitmq-server-3.5.6-1.noarch.rpm
4.安装 rabbitmq-server
yum install rabbitmq-server-3.5.6-1.noarch.rpm
6.查看是否安装成功 rabbitmq-server
rpm -qa|grep rabbitmq
7.启动
service rabbitmq-server start
8.查看状态
rabbitmqctl status
9.
http://139.199.11.69:15672/无法登陆增加插件
rabbitmq-plugins enable rabbitmq_management
10 增加插件之后重启
service rabbitmq-server restart
11重启之后测试出现了页面但是无法登陆解决
vim /etc/rabbitmq/rabbitmq.config
输入
[{rabbit, [{loopback_users, []
}]}].
12.增加账户
rabbitmqctl add_user zhaohaibo zhaohaibo
13.设置权限 (为什么是administrator 有四种方式下面讲解)
rabbitmqctl set_user_tags zhaohaibo administrator
14 查看用户列表
rabbitmqctl list_users
15。设置开机自动启动
chkconfig rabbitmq-server on
测试我们可以登录网址
http://139.199.11.69:15672/去发送消息
但是报错如下
用户没有授权访问虚拟主机
15 增加主机名
rabbitmqctl add_vhost cProxy
16.赋予权限
rabbitmqctl set_permissions -p cProxy zhaohaibo ".*" ".*" ".*"
17 查看权限
rabbitmqctl list_user_permissions zhaohaibo
18发送消息测试是否成功
以下是扩展
服务器启动与关闭参考
启动:service rabbitmq-server start
关闭:service rabbitmq-server stop
重启:service rabbitmq-server restart
用户管理
新增 rabbitmqctl add_user admin admin
删除 rabbitmqctl delete_user admin
修改 rabbitmqctl change_password admin admin123
用户列表 rabbitmqctl list_users
设置角色
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_user_tags admin monitoring
rabbitmqctl set_user_tags admin policymaker
rabbitmqctl set_user_tags admin management
角色分析
按照我个人理解,rabbitmq用户角色可分为五类:超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
(1) 超级管理员(administrator)用户设置为administrator才能远程访问
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他的
无法登陆管理控制台,通常就是普通的生产者和消费者。
当然,除了上面的administrator 还有 monitoring、policymaker、management、自定义名称 ,对应上面介绍到的不同的角色。
像我们人一样,我们角色除了是公司的员工,还是父母的孩子、子女的爸妈等,用户也可以同时具有多个角色
设置角色 rabbitmqctl set_user_tags admin administrator monitoring policymaker management
rabbitmqctl set_user_tags zhaohaibo administrator,monitoring,policymaker,management
如果不需要创建主机 可以用如下
rabbitmqctl set_permissions -p /vhost1 user_admin '.*' '.*' '.*'
该命令使用户user_admin具有/vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
开放端口 服务端调用
ufw allow 5672
检查端口5672是否打开
/sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
/etc/init.d/iptables status