跳到主要内容

MQTT云服务器-Windows

本教程介绍的是如何在云服务器(Windows-server)上搭建 MQTT 服务器和 MySQL 数据库。


购买云服务器

1. 注册登录

这里介绍使用华为云服务器来搭建自己的 MQTT 服务器。首先进入华为云注册账号并登录, 云务器需要进行实名制验证才能进行购买。

2. 购买云服务器

登录账号后,在产品栏选择购买弹性云服务器 ECS。

按照需求进行相应配置。

镜像选择 windows,这里选择的是 windows server2019 数据中心版 64 位简体中文版。

在高级配置中配置自己容易记忆的服务器登录密码。

3. 端口配置

进入控制台,选择安全组,进行配置规则。

选择入方向规则,添加规则,分别添加 1883、18083、3306 三个端口规则(3306 为数据库对接默认端口)。

EMQ X 服务占用的 TCP 端口如下图所示。

4. 远程登录

4.1 使用计算机远程桌面连接

使用计算机搜索功能,搜索远程桌面连接,并打开。

在计算机栏输入服务器弹性公网 IP 地址,点击连接,即可进入远程桌面。

4.2 使用网站远程登录

在华为云网站中,进入控制台,选择已购买的服务器,点击远程登录。

使用其他方式(VNC),立即登录。

根据提示,输入服务器登录密码即可登录远程桌面。

搭建 MQTT 服务器

1. 下载

这里介绍的是使用 EMQ 开源项目来搭建自己的 MQTT 服务器,可在EMQ 官网下载。这里下载的版本是 emqx-windows-v4.2.3(64 位)。

下载完对应的版本后,解压到一个目录(英文目录)。本例的安装目录为 D:\MQTT\emqx。

微信图片_201901171714161

2. 安装

以管理员身份运行 Windows 命令行窗口(cmd),使用 cd 指令进入 EMQ X 的安装目录。

输入指令bin\emqx console启动控制台模式。

启动成功后,会弹出控制台窗口。将此控制台窗口关闭后进行 Windows 服务注册。

微信图片_20190117171415

在 cmd 输入bin\emqx install为 EMQ X 注册 Windows 服务。如果服务注册成功,会有Service emqx_4.2.6 added to system.的提示。

3. 启动

输入bin\emqx start来启动 EMQ X 服务。

4. 相关指令

EMQ X 停止服务的指令为bin\emqx stop,卸载服务的指令为bin\emqx uninstall

5. Web 管理控制台(Dashboard)

EMQ X 服务启动后,用户可以通过 Web 管理控制台(Dashboard)查看 MQTT 服务器状态。可以在浏览器中输入云服务器 IP:18083 进行登录,默认用户名 admin,密码 public。在 Clients 界面可以查看当前服务器的连接状态。

数据库 MySQL 搭建

1. 下载

进入 MySQL 的官方网站 https://www.mysql.com/, 打开 DOWNLOADS 标签。

在打开的网页中选择MySQL Community Edition(GPL),然后点击MySQL Community Server进入下载项页面。

这里推荐使用 MySQL Installer 进行安装, 这个版本的 MySQL 不需要自己进行配置, 按照提示进行安装就可以了。 点击Go to Download Page \>进入下载页面。

这里选择第二个选项进行下载,版本为 8.0.13。

2. 安装

双击 MySQL Installer 进入安装界面, 首先勾选同意协议并点击 Next。

这里只需要安装 MySQL 数据库, 所以选择第二项 Server only 就可以。 如果有需要其它组件, 可以选择其它类型进行安装。

之后点击 Execute 进行安装, 等安装完成后点击 Next 进入配置界面。

Group Replication(组复制) 和 Type and Networking(运行模式与网络) 按默认设置即可。 默认端口号为 3306。

选择身份验证方式。第一种方式为强密码加密授权(推荐),第二种方式为传统授权方法(保留 MySQL5.x 兼容性) 。 有一些客户端和程序还没有更新支持新授权方法, 这时就需要选择传统授权方法。 本文使用的是第二种身份验证方式, 配置完成后点击 Next。

创建用户 root 密码,密码务必牢记,使用 root 用户访问 MySQL 服务必须用到这个密码。

将 MySQL 设置为 Windows 服务, 服务名称(Windows Service Name) 可以自己设定, 其它保持默认设置即可。

点击 Excute 执行配置。 在配置完成后点击 Finish 回到安装主程序。

点击 Next,回到主界面,点击 Finish 完成 MySQL 安装。

3. 验证

在安装完 MySQL 后, 在开始菜单找到 MySQL Command Line Client。 执行命令行客户端后, 会提示输入密码, 密码就是刚刚在配置过程中设置的 root 用户密码。

成功后,会有一下窗口出现。

4. 开启远程访问权限

MySQL 默认只允许本地 localhost 登录, 所以需要使用以下命令开启远程访问权限。

依次输入以下指令:

进入数据库

use mysql;

创建用户

CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';

授权

GRANT ALL ON *.* TO 'root'@'%'';

刷新权限

FLUSH PRIVILEGES;

通过执行命令select host, user from user;, 可以看到 root 用户的 host 变成了%, 说明修改已经成功,可以对 root 用户进行远程连接了;

select host, user from user;

5. 远程访问数据库

远程访问数据库的可视化工具有很多, 像 MySQL Workbench、 Navicat、 HeidiSQL 等。 这里使用的是 MySQL-Front 作为例子。

打开 MySQL-Front -> 文件 -> 连接管理 -> 添加, 在弹出的窗口填写 MySQL 服务器信息。 主机填写 MySQL 服务器的主机 IP 地址,本例使用 121.37.186.60 端口默认为 3306。 用户和密码为 MySQL 数据库的 root 用户和密码。

设置完之后点击确定, 即可远程访问 MySQL 数据库。

在这里我们需要建立一个新的数据库用于储存 HMI/网关 上传的历史数据。 右键点击主机 IP,选择新建 -> 数据库。 在弹出的窗口输入名称, 其余按默认设置即可。 注意这里只能输入英文名称。