自己搭建mqtt服务器

        前言:网上资料大部分都是使用的云服务,我是采用自己搭建的服务器来进行试验的,接下来将记录过程。

一,服务器搭建

        1.使用云服务器

云服务器有很多种网上也有很多教学在这里不进行过多的解释了,我实验的时候采用的阿里云国内的服务器这里以后还会进行介绍。

        2.自己搭建服务器——戴尔R620(本实验采用)

        本实验主要采用的是自己搭建服务器,在整理的时候发现有一台R620不想让他吃灰可以搭建个服务器。

        我们采用的U盘安装系统这里可以参考

制作ubuntu 18.04 U盘启动盘_AllyLi0224的博客-CSDN博客_u盘制作ubuntu系统盘

        启动盘烧入完后进行BIOS设置安装操作系统这个资料很多就不再演示了,过程和创建虚拟机一样,玩过虚拟机的都能看懂。

        当进入界面后我们需要对网络进行配置,防火墙配置,主要是防火墙端口的配置和路由器的配置,因为你是自搭建服务器不像云服务器在后台可以直接管理安全组。

                1)远程控制神器 rustdesk

        在进行完服务器基本设置后我们要进行远程控制,你可以摆脱显示器等远程控制这个服务器(服务器只需插电源线和网线继续吃灰),这里推荐rustdesk 这个软件开源的,安全性很高TLS加密传输。

        安装:有客户端和服务端 版本很多要看清楚安装

二,选择消息服务器

        1.rabbitmq

        rabbitmq的网页对于新手来说不是很友好全英文,但是与emqx相比所能承受带宽数据量等有很大的优势,缺点是搭建和配置过程相对于empx不是很简单,我也搭建过 但对于简单的实验的话empqx简单在这里可以参考一下资料

【学相伴】狂神说 RabbitMQ笔记(简单使用RabbitMQ)_冷血~多好的博客-CSDN博客

安装配置RabbitMQ(启动SSL)及测试案例_wil1jiang的博客-CSDN博客

RabbitMQ 发展史与安装_带铃铛的鱼儿的博客-CSDN博客_rabbitmq 发展历史

rabbitmq-c 源码初解(一)_supe1212的博客-CSDN博客

基于RabbitMQ的MQTT插件搭建MQTT服务,使用MQTTX进行收发测试_java编程艺术的博客-CSDN博客_rabbitmq mqtt插件

  

      2.emqx(本实验采用)

        在服务器上安装empx参考官网手册写的很明白https://www.emqx.io/zh/downloads?os=Ubuntu


选择好自己的操作系统 一键安装

        使用指南很重要不仅是服务器搭建,移动端的配置都需要这个使用只能(单片机的配置、微信小程序的配置、网页配置),在部署完后就不要在更改ip了

        自己搭建的服务器一定要注意端口是否开启,1)linux防火墙  2)路由器防火墙

        我是在学校搭建的一直连接不到,检查错误后发现ping都不通后来联系网管才知道学校防止被攻击关闭了所有的端口,外网访问不到。和后来拉的联通的网线,登录路由器页面打开了所使用的端口,用外网ping能通了 。

         输入以下代码判断empx是否正常工作,也可以看到所用端口。

sudo systemctl status emqx

接下来我们登入网页版emqx,输入你的外ip或者域名端口号是18083

        在这里面我们也可以看到所监听的端口,刚安装的empx可能没有ssl,也就了两个ws和tcp,你需要在服务器上安装ssl才可以开启。

        8883、1883、8083、8084、18083等端口,8083主要是用于未加密的websocket协议的端口(ws),8084就是加密的端口用来微信小程序连接的(wss),18083主要是访问EMQX控制台的端口,1883是基本的TCP端口在此是单片机来连接服务器的端口,8883就是加密的端口(https)。

微信小程序开发文档中说明由于安全的原因只支持websocket/TLS协议,所以本实验必须开启wss协议的端口来给小程序接入服务器来使用。

        开启ssl大部分人是不需要进行的操作,除非要制作微信小程序等需要加密的。这一部分将会在后期介绍。

        在emqx中有客户端,不需要再使用mqtttx等客户端,这个对于测试很方便

下面 后期更新

三,客户端

        1.设备端(单片机)

        2.移动端(微信小程序)

        3.桌面端(mqttx)

若有错误,请及时评论改正,谢谢各位大佬

猜你喜欢

转载自blog.csdn.net/weixin_52522953/article/details/127987590