emqx的卸载

Emqx是发布订阅模式的开源 MQTT 消息服务器。之前叫emqtt,从3.0版本开始改叫EMQ X。和之前emqtt的配置、dashboard界面有一些小差别,基本上一样。

EMQ X的官方文档: EMQ X - 百万级开源 MQTT 消息服务器 — EMQ X - 百万级开源 MQTT 消息服务器 3.2.0 文档 

目前百度上能搜到的emqttd详细教程比较少,遇到问题基本上就靠啃这个官方文档。这个文档写的真的很不实用。篇幅巨长,一堆概念、专业术语;然鹅很多涉及具体操作的地方又不给出操作步骤,一两句文字介绍就完事了。本人linux小白,自己瞎捣鼓遇到问题,改了config文件之后,dashboard的websocket就彻底连不上了。解决无果决定卸载重装。发现官方文档没有教怎么卸载!兜兜转转两天终于重装了,问题也解决了。想把遇到的问题总结一下:

1. 不要用记事本或者什么软件编辑config文件

这是两篇解释什么是websocket的文章:

Webhook的理解

最开始我是想用EMQ Dashboard里的websocket功能 向python代码发送信息,再由python代码进行各种处理。但是发现websocket发出去之后python完全没反应。我感觉可能是emq和python代码里的端口不一致。

我首先是找到了/etc/emqx/emqx.conf配置文件。用sublime打开,一顿狂找看哪里是有关端口的配置,大概是几个listener那里,但是并没有发现什么不对劲,故未作修改。把conf文件关闭之后我重启了我的emqx。

重启之后,我发现一切都不一样了!websocket直接连不上了,页面直接显示端口8083,8084都是connection failed,然后我命令行emq_ctl也不好使了。百度到的很多问题和解决方法都是针对旧版本,也就是emqttd,老版本的配置和emqx好像还是有点不一样,我又不敢乱试,就被这个奇怪的现象绊了整整一天多。

在这个寻求解决方法的过程中,我看到很多人说websocket连不上是因为emq自带的证书无效。后来我在这篇文章也有提到这个问题:

EMQ 内置自签名证书,默认已经启动了加密的 WebSocket 连接,但大部分浏览器会报证书无效错误如net::ERR_CERT_COMMON_NAME_INVALID (Chrome、360 等 webkit 内核浏览器在开发者模式下, Console 选项卡 可以查看大部分连接错误)。

来源:使用 WebSocket 客户端连接 MQTT 服务器 - 简书

我就根据这个问题的解决方法一顿操作:将 etc/certs/ 目录下的pem文件替换成我自己域名的ssl文件;也修改了etc/emqx.conf 配置文件里的证书目录。

我的域名是在阿里云上备案的,阿里云域名申请ssl证书的操作:阿里云域名申请SSL证书 - 简书

但是还是没用啊。

后来看到一个csdn上有人说emqx.conf不能用记事本打开编辑,编码问题什么的,记事本编辑过后就废了,我觉得我应该就是这样把conf文件搞坏的吧。

我的经验就是:不要用记事本或者什么软件编辑config文件了,就用vi吧。。。

本来我还觉得emq很好用的,安装、操作都还挺直接方便的,现在被这些毛病困扰我真的觉得它不好用了!

2. 胡乱的卸载操作

既然已经把配置文件搞坏了,那我把emq卸载重装吧。

查了emqx的官方文档,里面居然没提怎么卸载。不过,emqttd的文档里是有写的,我命令行敲了下emqx uninstall,发现这破程序根本不认这个命令了。

于是我又敲了apt_get remove emqx,显示成功卸载了。

于是我开始重装emq 3.2。装了一半报错说/usr/bin/emqx already exist. 于是我暴躁地删除了这个目录(但是我有留备份)。删除完之后还是报一些错,最后一行是:Errors were encountered while processing: emqx

后来我看到了github上的这个问题:

apt-get remove emqx does not remove /usr/bin/emqx* · Issue #2450 · emqx/emqx · GitHub

于是我又试了dpkg -i emqx, dpkg -p emqx, 其实还是有一些小问题,然后百度解决好了。

最后就卸载重装好了。

3. 在dashboard上开启、配置plugins

下图是所有plugins的列表,在最左侧可以启动、停止或是更改配置。

我想用emq向服务端python程序发送信息,python对信息进行一些后续的处理,则需要更改名为emqx_web_hook的插件,将其端口改为和python程序绑定的端口号一致。


在这个页面就可以改,但是在dashboard更改Plugins的设置,重启emq之后就没了。官方是这么说的:

出于安全性考虑,通过 Dashboard 配置的插件参数不会持久化到配置文件,即每次重启 EMQ 后配置信息会丢失。用户通过界面上配置的插件参数,在确认正确可用后应当将配置写到 etc/plugins/ 目录下响应的配置文件中。

参考:emqx-tutorial-cn/emqx-dashboard-useage-guide at master · emqx/emqx-tutorial-cn · GitHub

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值