RabbitMQ搭建及MQTT插件安装(ubuntu 16.04)

开始安装

(1)更新软件源中的所有软件列表,因为刚刚安装的操作系统可能有很多的软件需要更新

apt-get update

(2)安装erlang,由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang

apt-get install erlang-nox

(3)执行下面命令查看erlang的版本,同时可以判断erlang是否安装成功

erl

(4)添加公钥

wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -

(5)安装 RabbitMQ,安装成功后RabbitMQ会自动启动

apt-get install rabbitmq-server

(6)也可以通过下面命令查看当前RabbitMQ的执行情况

systemctl status rabbitmq-server

如下图所示,active(running)表示运行成功

以上我们就安装并正常启动了RabbitMQ了。

紧接着我们可以给RabbitMQ安装一些插件

启动web端可视化界面

rabbitmq-plugins enable rabbitmq_management

成功后我们重启一下服务

service rabbitmq-server restart #重启

service rabbitmq-server start # 启动

service rabbitmq-server stop # 停止

由于在RabbitMQ 3.3及以后的版本中,默认账户guest只能在服务器本机登录,所以这时候我们需要给RabbitMQ 增加一个管理员账户

1.查看用户列表

rabbitmqctl list_users

如果此时我们还没有添加账户,用户列表里面只有一个guest

因为我之前添加过admin与root所以这里就会有三个账户,后面的administrator表示的是否是管理员账户。

2.添加一个账户

rabbitmqctl add_user admin 123456  #(admin 是账户名称,123456是账户密码) 

3.给这个账户分配管理员角色

rabbitmqctl set_user_tags admin administrator

等账户创建好后,就可以通过http://服务器IP:15672来访问rabbitMQ的web端可视化界面了,通过我们添加的管理员账户登录后,界面如下。

注:这个时候如果访问失败的话,请检查一下防火墙是否开启了一下端口

4369 # erlang发现口

5672 # client端通信口

15672 # 管理界面ui端口

25672 # server间内部通信口

1883 # mqtt端口

15675 # mqtt websocket端口

启动MQTT插件

rabbitmq-plugins enable rabbitmq_mqtt

rabbitmq-plugins enable rabbitmq_web_mqtt

安装成功后重启一下rabbitMQTT

也可以通过命令查看MQTT插件的启动情况

rabbitmq-plugins list

最后我们通过MQTTbox工具测试能否正常通过MQTT订阅与发布消息

Protocol选择mqtt/tcp,输入完连接参数后,我们点击save

正常情况下连接状态为Connected,但是也有可能会失败,下面会说一下失败原因

连接失败截图:

如果连接失败,我们可以通过RabbitMQ的可视化界面查看一下账户的情况,这个时候我们可以发现admin账户的Can access virtual hosts居然是 No access

这是因为我们添加的账户读写权限不够导致的,所以我们需要给其分配读写权限,可以通过下面命令进行配置

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

我们赋予admin“/”下面的全部资源的配置和读写权限。

之后我们就可以通过admin账户进行鉴权登录MQTT服务器了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鱼>

一分也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值