RabbitMQ拥有数万用户,是最受欢迎的开源消息代理商之一。从T-Mobile 到Runtastic,RabbitMQ在全球小型创业公司和大型企业中使用。
RabbitMQ轻量级,易于在内部和云中部署。它支持多种消息传递协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模,高可用性要求。
RabbitMQ 下载安装
启动方式
注意:右键以管理员身份打开
- 傻瓜式启动
- 命令行启动
#依次执行
rabbitmq-service.bat stop
rabbitmq-service.bat install
rabbitmq-service.bat start
RabbitMQ web页面访问:localhost:15672
默认账号密码都是:guest
操作
#创建用户
rabbitmqctl add_user {用户名} {密码}
#设置权限
rabbitmqctl set_user_tags {用户名} {权限}
#例:创建一个超级用户
rabbitmqctl add_user admin1 admin1
rabbitmqctl set_user_tags admin1 administrator
#查看用户列表
rabbitmqctl list_users
#为用户赋权
#使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'
#查看权限
rabbitmqctl list_user_permissions admin
rabbitmqctl list_permissions -p /
#清除权限
rabbitmqctl clear_permissions [-p VHostPath] User
#删除用户
rabbitmqctl delete_user Username
#修改用户的密码
rabbitmqctl change_password Username Newpassword
无法访问web页面
以上若不能正常访问RabbitMQ界面,则需要首先启动其管理模块
CMD目录切换至 RabbitMQ 安装目录的sbin目录下,再使用操作命令
# 开启RabbitMQ节点
rabbitmqctl start_app
# 开启RabbitMQ管理模块的插件,并配置到RabbitMQ节点上
rabbitmq-plugins enable rabbitmq_management
# 关闭RabbitMQ节点
rabbitmqctl stop
端口访问
RabbitMQ节点绑定到端口(打开服务器TCP套接字)以接受客户端和CLI工具连接。其他进程和工具(如防病毒软件)可能会阻止RabbitMQ绑定到端口。发生这种情况时,节点将无法启动。
CLI工具,客户端库和RabbitMQ节点也打开连接(客户端TCP套接字)。防火墙可以防止节点和CLI工具相互通信。确保可以访问以下端口:
- 4369:epmd,RabbitMQ节点和CLI工具使用的对等发现服务
- 5672,5671:AMQP 0-9-1和1.0客户端使用没有和使用TLS
- 25672:用于节点间和CLI工具通信(Erlang分发服务器端口),并从动态范围分配(默认情况下限制为单个端口,计算为AMQP端口+ 20000)。除非确实需要这些端口上的外部连接(例如,群集使用联合或CLI工具在子网外的计算机上使用),否则不应公开这些端口。有关详情,请参阅网络指南
- 35672-35682:由CLI工具(Erlang分发客户端端口)用于与节点通信,并从动态范围(计算为服务器分发端口+ 10000到服务器分发端口+ 10010)进行分配。有关详情,请参阅网络指南
- 15672:HTTP API客户端,管理UI和rabbitmqadmin (仅当启用了管理插件时)
- 61613,61614:没有和使用TLS的STOMP客户端(仅当启用了STOMP插件时)
- 1883,8883 :( 如果启用了MQTT插件,则没有和使用TLS的MQTT客户端
- 15674:STOMP-over-WebSockets客户端(仅当启用了Web STOMP插件时)
- 15675:MQTT-over-WebSockets客户端(仅当启用了Web MQTT插件时)