“每个理性的IT人士都置顶了吴柯的运维笔记”
RabbitMQ简介
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
下面将重点介绍RabbitMQ中的一些基础概念,了解了这些概念,是使用好RabbitMQ的基础。
官网下载:http://www.rabbitmq.com/download.html
安装配置RabbitMQ
一、socat依赖安装
(redhat7/centos7直接yum -y install socat)
#wget –no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo
#yum makecache
#yum install -y socat
二、Erlang安装
(较低版本可直接下载安装
下载地址:http://www.rabbitmq.com/releases/erlang/)
#/etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/19/el/6
gpgcheck=1
gpgkey=https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
#yum -y install erlang
三、安装rabbitmq并启动
#rpm -ivh erlang-18.1-1.el6.x86_64.rpm
#rpm -ivh rabbitmq-server-3.7.0-1.el6.noarch.rpm
# service rabbitmq-server start
Starting rabbitmq-server: SUCCESS
rabbitmq-server.
四、创建用户并设管理员
#rabbitmqctl add_user wuke wuke123
Adding user "wuke" ...
#rabbitmqctl set_user_tags wuke administrator
Setting tags for user "wuke" to [administrator] ...
五、启动web管理
# rabbitmq-plugins enable rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@host210...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
started 3 plugins.
六、浏览器访问管理后台
http://192.168.1.210:15672/
为设置的用户配置权限:admin--用户名--set permission
添加用户
备注:命令行用户管理
添加 Virtual Hosts :
#rabbitmqctl add_vhost <vhost>
删除 Virtual Hosts :
#rabbitmqctl delete_vhost <vhost>
查看 Users :
#rabbitmqctl list_users
添加 Users :
#rabbitmqctl add_user <username> <password>
#rabbitmqctl set_user_tags <username> <tag> ...
#rabbitmqctl set_permissions [-p <vhost>] <user> <conf> <write> <read>
(#rabbitmqctl set_permissions -p "/" wuke ".*" ".*" ".*")
删除 Users :
#delete_user <username>
user 有5种 tags :
management :访问 management plugin;
policymaker :访问 management plugin 和管理自己 vhosts 的策略和参数;
monitoring :访问 management plugin 和查看所有配置和通道以及节点信息;
administrator :一切权限;
None :无配置