RabbitMQ 初次尝试
最近有个想法,想实现通过手机客户端发送指令,实时的控制家中的树莓派进行一些操作,一个迷你的物联网模型,手机端发送指令容易实现,树莓派执行操作也还好说,问题在于一个公网的请求怎么传达给一个内网的设备,而且要实时,开始想法是手机发指令到服务器,树莓派不停的循环向服务器请求,看有没有最新的指令需要处理,显然这个想法看上去就比较 Low,之后了解到有消息队列这么个东西,手机端可以把指令发送给消息队列,消息队列同时就可以把消息推给树莓派,这样树莓派就可以不用循环的去请求服务器,经比较最终选择了 RabbitMQ,Mac 安装 RabbitMQ 还是比较简单的,就不介绍安装方法了,以下是一些基本操作以及远程连接 RabbitMQ 需要的一些配置。
1、基本命令
在后台启动 RabbitMQ:
rabbitmq-server -detached
关闭 RabbitMQ:
rabbitmqctl stop
2、guest 账户只能访问 localhost
在安装目录下找到 ebin
文件夹
编辑 rabbit.app
文件
找到 {loopback_users, [<<"guest">>]}
改为 {loopback_users, []}
* 注:guest 账户为默认账户,最好修改密码或删除帐户
3、新建管理员用户
4、远程无法连接 RabbitMQ 服务器
找到 RabbitMQ 配置文件 rabbitmq-env.conf
以 macOS 为例,路径为 /usr/local/etc/rabbitmq/rabbitmq-env.conf
将 NODE_IP_ADDRESS
绑定的IP地址修改为 0.0.0.0
保存并重启服务
5、用户管理
6、角色管理
超级管理员
administrator
可登陆管理控制台(启用 management plugin 的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
监控者
monitoring
可登陆管理控制台(启用 management plugin 的情况下),同时可以查看 rabbitmq 节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
策略制定者
policymaker
可登陆管理控制台(启用 management plugin 的情况下), 同时可以对 policy 进行管理,但无法查看节点的相关信息。
普通管理者
management
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
7. 权限管理
Last updated
Was this helpful?