安装
下载
1 | wget https://github.com/vernemq/vernemq/releases/download/1.12.3/vernemq-1.12.3.centos7.x86_64.rpm |
yum安装
1 | $ yum -y install ./vernemq-1.12.3.centos7.x86_64.rpm |
安装完成后会自动生成配置文件**/etc/vernemq/vernemq.conf**,修改配置文件,仅修改而不是全部替换
1 | # 是否开启匿名访问,开启匿名访问后将不验证用户名及密码 |
如果未开启匿名访问,我们就需要为Vernemq添加相关的账号密码
1 | vmq-passwd -c /etc/vernemq/vmq.passwd admin #回车键 输入密码并验证 19491001 |
接下来就是配置topic的读写权限,默认状态下允许所有用户对所有的topic可读写。
但安全和规范起见,建议大家规定各任务之间不同的topic并对权限加以控制。修改配置文件:/etc/vernemq/vmq.acl
1 | #添加如下内容 |
启动vernemq
1 | $ systemctl start vernemq |
若为集群则使用如下命令加入任意集群节点:
1 | $ vmq-admin cluster join discovery-node=vmqNode1@172.xx.xxx.219 #节点名称 |
查看节点状态:vmq-admin cluster show,或者通过web监控页面查看集群以及节点状态,访问如下地址:http(s)://ip:8085/status,这里的端口为上方配置文件中配置的listener.http.default信息中的端口。
运行
启动(除了上面的之外):
1 | vernemq start|stop|restart(成功) 或者 /etc/init.d/vernemq start|stop|restart(应该还要配置,参考) |
版本升级
- 下载升级版本的二进制文件
- 执行 rpm -Uvh vernemq-[version].centos7.x86_64.rpm
- 重启vernemq 服务
- 注意:要看下旧的进程是否存在,存在的话,需要kill 进程,重新启动
实践
MQTTBox请求(订阅/发布)
通过下面连接添加谷歌商店拓展应用MQTTBox
https://www.hivemq.com/blog/mqtt-toolbox-mqttbox/
MQTTBox使用参考文章:
node.js请求(订阅/发布)
1 | 报错:npm WARN saveError ENOENT: no such file or directory, open 'package.json' |
app.js
1 | var mqtt = require('mqtt'); |
publish.js
1 | var mqtt = require('mqtt'); |
注意: 如果allow_anonymous = on,那么只需要mqtt.connect('mqtt://47.xx.xxx.104:1883')