参考 https://www.rabbitmq.com/mqtt.html
MQTT插件包含在RabbitMQ发行版中。必须使用rabbitmq-plugins启用它
rabbitmq-plugins enable rabbitmq_mqtt
rabbitmqctl add_vhost mqtt
指定 vhost 为 mqtt, 连接时,username 前要加 mqtt:
如用户名为 mqtt-sensor
连接时要使用如下用户名: mqtt:mqtt-sensor
# 增加一个内部使用的user: 用户名 mqtt-smart-energy, 密码"123456"
rabbitmqctl add_user mqtt-smart-energy 123456
rabbitmqctl set_permissions -p mqtt mqtt-smart-energy ".*" ".*" ".*"
rabbitmqctl set_user_tags mqtt-smart-energy management
# 增加一个外部使用的user: 用户名 mqtt-sensor, 密码 123456
rabbitmqctl add_user mqtt-sensor 123456
rabbitmqctl set_permissions -p mqtt mqtt-sensor "^(amq.topic|mqtt-subscription-.*)$" "^(amq.topic|mqtt-subscription-.*)$" "^(amq.topic|mqtt-subscription-.*)$"
rabbitmqctl set_topic_permissions -p mqtt mqtt-sensor amq.topic "^report.*" "^report.*"
# 查看用户
rabbitmqctl list_users
# 删除用户
rabbitmqctl delete_user XXX
# 查看权限分配
rabbitmqctl list_permissions
rabbitmqctl list_permissions --vhost mqtt
rabbitmqctl list_topic_permissions