ycwjl728 发表于 2022-10-21 22:23:37

低成本建立一台自己的MQTT服务器

本帖最后由 ycwjl728 于 2022-10-21 22:26 编辑

前几天发了一个帖子:
自建MQTT服务器用哪个比较好?
https://www.amobbs.com/thread-5771572-1-1.html

经过坛友推荐,感觉EMQX比较好。
今天晚上有时间,安装了一个,感觉过程比较简单。

下面给同样想玩玩的坛友分享一下方法,成本较低,可操作性好。

1,阿里云上租一台ECS主机,选规格的时候,1核1G,硬盘20G,选按量付费,再选抢占式,带宽计费那里选按使用流量计费。要公网IP。
   这样的话,超级便宜,一小时1毛钱不到。玩完了关机,不收钱。镜像选Ubuntu就行。

2,安全组里面,把EMQX用的几个端口都打开。

3,官网emqx.io,文档-安装与部署里面有说明。基本上就是apt install就搞定了。
   网上有人说有一键安装脚本,但是我官网文档找了一圈没找到。。还是以官网为主吧。

4,安装完直接emqx start就ok了。

5,去emqx自带的管理后台页面,地址就是你的IP:18083,用户名是 admin 密码是 public 。先修改密码。

6,客户端推荐MQTTFX这个软件,找老版本1.7版,是免费的。
   就可以连接到你的服务器,发布订阅主题,测一下,都OK。

以上内容比较简单,可以在半个小时内完成。

下一步需要研究一下,设备认证,TLS的问题。这样我感觉就基本上可以替代那个阿里云IOT平台的功能了。
有懂得坛友可以指点一下~

wazhiyi 发表于 2022-10-21 22:28:29

要看你用什么功能,用途不一样还是不一样的,另外还有稳定性也要考虑,毕竟开源的东西,人家商业版吃啥喝啥

hetao7241 发表于 2022-10-21 22:35:37

wazhiyi 发表于 2022-10-21 22:28
要看你用什么功能,用途不一样还是不一样的,另外还有稳定性也要考虑,毕竟开源的东西,人家商业版吃啥喝啥 ...
(引用自2楼)

我就在想这个问题,我目前用了好几台机器,用了一年时间了,基本没有出现问题,当然数据率不是太大

yyts 发表于 2022-10-21 23:19:28

hetao7241 发表于 2022-10-21 22:35
我就在想这个问题,我目前用了好几台机器,用了一年时间了,基本没有出现问题,当然数据率不是太大 ...
(引用自3楼)

稳定性没啥问题,放心用,一般我只有升级版本时才会重启,看这个运行290天了,5000多个设备,正常在线3000台左右,每30秒上报一次记录。

罗小蘑菇 发表于 2022-10-22 06:24:09

各位用的是windows操作系统的EMQX还是liunx版的EMQX?我看好像liunx版的是主流,但是对liunx不熟悉啊

wangbin526 发表于 2022-10-22 07:23:05

EMQX服务默认是匿名登录的,任何人都可以用,要是有人乱订阅发布或者用压力测试工具恶搞就麻烦了
所以建议先改验证,开用户名密码验证,用内部数据库,每台设备生成一个用户名和密码,烧录的时候通过EMQX的WEB API自动提交
然后开设置权限,用内置file的方式,通过通配符限制每个用户只能发布和订阅自己用户名下的特定topic,这样就算用户破解了几个设备的用户名密码,对emqx服务器也没影响
PS:腾讯轻量服务器,新人2核4G的一年才100出头,用docker跑emqx,还能挂其他服务

ycwjl728 发表于 2022-10-22 07:47:57

yyts 发表于 2022-10-21 23:19
稳定性没啥问题,放心用,一般我只有升级版本时才会重启,看这个运行290天了,5000多个设备,正常在线300 ...
(引用自4楼)

可否介绍一下设备认证是怎么做的?
TLS开了吗?

ycwjl728 发表于 2022-10-22 07:48:25

wangbin526 发表于 2022-10-22 07:23
EMQX服务默认是匿名登录的,任何人都可以用,要是有人乱订阅发布或者用压力测试工具恶搞就麻烦了
所以建议 ...
(引用自6楼)

谢谢分享经验,研究一下。

hetao7241 发表于 2022-10-22 10:06:19

yyts 发表于 2022-10-21 23:19
稳定性没啥问题,放心用,一般我只有升级版本时才会重启,看这个运行290天了,5000多个设备,正常在线300 ...
(引用自4楼)

我每秒基本要传输2次数据,还是很稳定的

kinoko 发表于 2022-10-22 11:35:18

收藏备用

yyts 发表于 2022-10-22 19:37:11

ycwjl728 发表于 2022-10-22 07:47
可否介绍一下设备认证是怎么做的?
TLS开了吗?
(引用自7楼)

认证用的mysql。

ycwjl728 发表于 2022-10-22 21:22:12

yyts 发表于 2022-10-22 19:37
认证用的mysql。
(引用自11楼)

TLS用了吗?

yyts 发表于 2022-10-22 22:26:28

ycwjl728 发表于 2022-10-22 21:22
TLS用了吗?
(引用自12楼)

两种都支持,TLS自签名一个证书。

mypear 发表于 2023-3-10 10:54:03

我也装了,那有搞数据库存储消息么

mypear 发表于 2023-3-10 10:55:06

yyts 发表于 2022-10-21 23:19
稳定性没啥问题,放心用,一般我只有升级版本时才会重启,看这个运行290天了,5000多个设备,正常在线300 ...
(引用自4楼)

专家,怎样搞个数据库存储MQTT消息?

mPiDDR 发表于 2023-3-10 11:58:11

mypear 发表于 2023-3-10 10:55
专家,怎样搞个数据库存储MQTT消息?
(引用自15楼)

大概的思路是,做一个系统带 sql 这样的数据库,注册所有的消息。
在收到消息往数据库里写。

请专家们斧正

yyts 发表于 2023-3-10 14:44:06

mypear 发表于 2023-3-10 10:55
专家,怎样搞个数据库存储MQTT消息?
(引用自15楼)

如果用的是企业版的emqx,自带转存数据库功能,我嘛,则自己写一个后台软件,可以运行多个app实例和多个线程共享订阅主题,自己解析数据后,定时或定量,批量写入数据库。

16312610 发表于 2023-4-1 19:57:04

我也搞了一个服务器,还要了个合宙的700E 4G终端联网,目前可以交互数据了。

wqy0410 发表于 2023-4-5 21:35:38

yyts 发表于 2022-10-21 23:19
稳定性没啥问题,放心用,一般我只有升级版本时才会重启,看这个运行290天了,5000多个设备,正常在线300 ...
(引用自4楼)

你这是几核内存几G的,带宽应该2M够了吧

yyts 发表于 2023-4-5 21:52:10

wqy0410 发表于 2023-4-5 21:35
你这是几核内存几G的,带宽应该2M够了吧
(引用自19楼)

具体看你应用了,我的是4核 8GB 6Mbps,400多天了

页: [1]
查看完整版本: 低成本建立一台自己的MQTT服务器