开始安装
(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服务器了。