赞
踩
RabbitMQ是一个开源的AMQP实现,服务端用Erlang
语言编写,支持多种客户端。用于在分布式系统存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
RabbitMQ会绑定一些端口,安装完后,需要将这些端口添加至防火墙。
4369
:Erlang的端口/节点名称映射程序,用来跟踪节点名称监听地址,在集群中起到一个类似DNS的作用。5672 / 5671
:AMQP 0-9-1和1.0客户端端口,没有使用SSL和使用SSL的端口。15672
:HTTP_API端口,管理员用户才能访问,用于管理RabbitMQ,需要启用management插件。25672
:用于RabbitMQ节点见和CLI工具通信,配合4369使用。sudo yum install -y socat
根据官方提供的Erlang和RabbitMQ的版本对应关系图,以及操作系统版本。这里RabbitMQ的版本选择3.9.9
,Erlang的版本选择23.2
。
备注:版本对应关系图参考Erlang和RabbitMQ版本兼容性对比。
直接下载RabbitMQ官网提供的Erlang rpm包,选择的版本为:erlang-23.2.7-2.el7。
RabbitMQ选择的版本为:rabbitmq-server-3.9.9-1.el7。
备注:由于CentOS的版本为7,这里下载的是该操作系统版本支持的最大Erlang版本。
sudo rpm -Uvh /opt/appl/rabbitmq/erlang-23.2.7-2.el7.x86_64.rpm
sudo rpm -Uvh /opt/appl/rabbitmq/rabbitmq-server-3.9.9-1.el7.noarch.rpm
sudo systemctl start rabbitmq-server
sudo systemctl status rabbitmq-server
sudo systemctl stop rabbitmq-server
sudo systemctl enable rabbitmq-server
RabbitMQ有一套默认配置,能够满足日常开发需求,如果需要修改,需要自己创建一个配置文件。
touch /etc/rabbitmq/rabbitmq.conf
各操作系统配置文件默认位置如下图,配置文件示例请参考:rabbitmq.conf.example。
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl add_user admin admin
备注:这里我们添加了用户名和密码都为admin的用户。
rabbitmqctl set_user_tags admin administrator
备注:这里的意思是给admin用户授予RabbitMQ管理控制台
administrator
角色。
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
备注:这里配置的是admin用户在virtual host “/” 下的资源读写等权限。
第1个".*"
代表赋予实体配置权限。
第2个".*"
代表赋予实体写权限。
第3个".*"
代表赋予实体读权限。
RabbitMQ的用户角色主要有:none
、management
、policymaker
、monitoring
、administrator
。
none
:不能访问management plugin。
management
:用户可以通过AMQP做任何事,外加:
policymaker
:除management角色外还可外加:
monitoring
:除management角色外还可外加:
administrator
:除policymaker和monitoring还可以做:
前面提到过15672是RabbitMQ控制台端口,浏览器输入http://127.0.0.1:15672
,即可进入登录页面,如下:
备注:用户名和密码都为
admin
,前面我们已经授予了admin
用户adminstrator
角色。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。