一:首先要安装socat和erlang
1.输入如下命令:
# yum -y install socat
2.下载erlang软件包,本文使用erlang-19.0.4版本:
# wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
3.安装erlang
# rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
安装完成后执行erl命令,出现下图代表成功
二:下载安装Rabbit MQ
1.下载Rabbit MQ软件包
# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
2.安装Rabbit MQ
# rpm -ivh rabbitmq-server-3.6.10-1.el7.noarch.rpm
注意:如果是重装请记得删除/var/lib/rabbitmq目录和/etc/rabbitmq目录!
三:Rabbit MQ配置和启动
1.配置Rabbit MQ环境变量
1.vi /etc/profile
2.添加环境变量
#RabbitMQ
export RABBITMQ_HOME=/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.10
export PATH=$RABBITMQ_HOME/sbin:$PATH
3.source /etc/profile
2. 启动RabbitMQ(后台启动)
# rabbitmq-server -detached
3. 查看启动状态
# rabbitmqctl status
输出结果如下代表正常启动:
4. 启用网页插件,可以在web端访问
# rabbitmq-plugins enable management
查看插件启用状态,如图表示正确启用;
# rabbitmq-plugins list
5. 创建虚拟主机,virtual-host
# 像mysql拥有数据库的概念并且可以指定用户对库和表等操作的权限。那RabbitMQ呢?RabbitMQ也有类似的权限管理。在RabbitMQ中可以虚拟消息服务器VirtualHost,每个VirtualHost相当月一个相对独立的RabbitMQ服务器,每个VirtualHost之间是相互隔离的。exchange、queue、message不能互通。 相当于mysql的db。Virtual Name一般以/开头
EG:创建一个虚拟主机,例如:”/shuiyun”
命令如下:
# rabbitmqctl add_vhost /shuiyun
四:创建RabbitMQ用户并授权
- 添加用户admin密码为admin
# rabbitmqctl add_user admin admin
- 设置用户的角色
# rabbitmqctl set_user_tags admin administrator
说明:权限由“低-->高”的:management、policymaker、monitoring、administrator
- 设置用户权限,指定用户的虚拟主机
# rabbitmqctl set_permissions -p "/shuiyun" admin ".*" ".*" ".*"
- 列出所有用户
# rabbitmqctl list_users
五. web访问Rabbit MQ
六. RabbitMQ命令大全
1、rabbitmq的启动和停止
- rabbitmq-server (前台启动)
- rabbitmq-server -detached(后台启动)
- rabbitmqctl stop(停止)
2、查看rabbitmq的状态
- rabbitmqctl status
3、用户管理
- rabbitmqctl add_user zhaojigang wangna(添加用户zhaojigang,密码是wangna)
- rabbitmqctl delete_user zhaojigang(删除用户zhaojigang)
- rabbitmqctl list_users(列出所有用户名及其角色)
- rabbitmqctl change_password zhaojigang wangna2(修改zhaojigang的密码为wangna2)
4、用户角色管理(5类角色)
- rabbitmqctl set_user_tags zhaojigang administrator(设置用户角色)
5、虚拟主机vhost管理
- rabbitmqctl list_vhosts(列出所有的虚拟主机)
- rabbitmqctl add_vhost zhaojigangvhost(添加虚拟主机zhaojigangvhost)
- rabbitmqctl delete_vhost zhaojigangvhost(删除虚拟主机zhaojigangvhost)
6、用户权限管理(3种权限)
- rabbitmqctl set_permissions -p zhaojigangvhost zhaojigang ".*" ".*" ".*"(设置用户zhaojigang在虚拟主机zhaojigangvhost的配置权限、写权限、读权限)
- rabbitmqctl set_permissions [-p vhost] {user} {conf} {write} {read}