MQTT系列1.1:安装EMQ



MQTT系列1.1

我自己也是学物联网的,自己制作的小设备不少。

因此想搭建一个平台去管理,之前也根据mqtt库自己通过C#写过几次客户端,可以自己慢慢实现功能,但是总归不完善,而且那时候.net core也没正式出来,.net framework也不跨平台。因此自己写了一段时间就落下了。

选择EMQ的原因

目前MQTT协议的服务端里面第一个知道的就是EMQ,接触了一下发现功能还挺全的,就想着使用一段时间时间后分享一下。

选择服务器

现在手头上面有两台云服务器,分别是放个人网站的华为云和一台便宜买的阿里云的。

自己家里也有好多电脑。

至于选择云服务器做MQTTserver主要是以下几点优点:

1.有公网ip(自己电脑有动态的公网IP,要需要做DDNS,又多了一步,较为麻烦。)

2.可以用域名做跳转

3.方便做备份

4.随时随地都能访问,方便上传数据(手机电脑访问较为方便)

5.省电

选择自己的EMQ版本

以下是三种EMQ X产品的功能点对比图,Broker 是免费版本,商业版和平台版本是要付费的。

官网地址:https://www.emqx.io/cn/

文档地址:https://docs.emqx.io/broker/latest/cn/tutorial/device-management.html

MQTT系列1.1:选择、安装、启动 EMQ X Broker_ubuntuMQTT系列1.1:选择、安装、启动 EMQ X Broker_centos7_02MQTT系列1.1:选择、安装、启动 EMQ X Broker_EMQ_03MQTT系列1.1:选择、安装、启动 EMQ X Broker_centos7_04

安装

EMQ X 目前支持的操作系统:

Centos6
Centos7
OpenSUSE tumbleweed
Debian 8
Debian 9
Debian 10
Ubuntu 14.04
Ubuntu 16.04
Ubuntu 18.04
macOS 10.13
macOS 10.14
macOS 10.15
Windows Server 2019

产品部署建议 Linux 服务器,不推荐 Windows 服务器。
支持以下多种安装方式

MQTT系列1.1:选择、安装、启动 EMQ X Broker_ubuntu_05

Shell 脚本一键安装 (Linux) 安装的是EMQ X Broker的版本

curl https://repos.emqx.io/install_emqx.sh | bash

以下是cmd窗口的输出

//安装开始
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2031 100 2031 0 0 1003 0 0:00:02 0:00:02 --:--:-- 1003
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/x86_64/metalink | 7.5 kB 00:00:00
* base: mirror.bit.edu.cn
* epel: mirrors.yun-idc.com
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.bfsu.edu.cn
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/7): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/7): base/7/x86_64/primary_db | 6.1 MB 00:00:00
(3/7): epel/x86_64/group_gz | 95 kB 00:00:01
(4/7): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(5/7): epel/x86_64/primary_db | 6.8 MB 00:00:00
(6/7): extras/7/x86_64/primary_db | 165 kB 00:00:00
(7/7): updates/7/x86_64/primary_db | 120 kB 00:00:00

//中间部分省略
.
.
.
.

Installed:
emqx.x86_64 0:4.0.6-1.el7

Complete!
EMQ X install success
//安装完成

出现以上语句,EMQ x Broker 就安装完成了

启动 EMQ X Broker


启动 EMQ X

后台启动 EMQ X

$ emqx start
EMQ X v4.0.0 is started successfully!

第一次启动会等稍微久一点的

MQTT系列1.1:选择、安装、启动 EMQ X Broker_服务器_06

关闭 EMQ X

$ emqx stop
ok

MQTT系列1.1:选择、安装、启动 EMQ X Broker_centos7_07

systemctl 启动

$ sudo systemctl start emqx
EMQ X v4.0.0 is started successfully!

与官网写的不一致,但是通过查看状态的命令,发现也是能成功启动的,就是没有输出。

MQTT系列1.1:选择、安装、启动 EMQ X Broker_服务器_08

service 启动

$ sudo service emqx start
EMQ X v4.0.0 is started successfully!

查看 EMQ X 的状态

EMQ X 正常启动:

$ emqx_ctl status
Node 'emqx@127.0.0.1' is started
emqx 4.0.0 is running

EMQ X 未能正常启动:

$ emqx_ctl status
Node 'emqx@127.0.0.1' not responding to pings。

你可以查看 logs 下的日志文件并确认是否属于 常见错误。

其他命令

MQTT系列1.1:选择、安装、启动 EMQ X Broker_MQTT_09

网页查看

网页打开安装的服务器的18083端口,这个端口是MQTT的网页端口。

可能会连接不上,这个时候就要去检查,华为云或者阿里云的安全策略里面,18083端口是否正确打开。

MQTT系列1.1:选择、安装、启动 EMQ X Broker_ubuntu_10通过宝塔面板进行端口放行。

MQTT系列1.1:选择、安装、启动 EMQ X Broker_ubuntu_11

如果显示端口是处于​正常​状态的,那就说明此时是有程序在占用这个端口的。

MQTT系列1.1:选择、安装、启动 EMQ X Broker_centos7_12此时再去刷新原来的页面,就能进入了。

MQTT系列1.1:选择、安装、启动 EMQ X Broker_ubuntu_13初始用户名是:admin

初始密码是:public

输入之后就能登陆了。

登陆后的第一件事,就是去创建新的账户或者修改admin的初始密码,否则不安全。

MQTT系列1.1:选择、安装、启动 EMQ X Broker_MQTT_14

纵观整个页面,能看到就算是免费的EMQ X Broker 也提供了非常丰富的接口和管理。此外也提供了很多插件可以选择。

MQTT系列1.1:选择、安装、启动 EMQ X Broker_MQTT_15

本文结束