MQTT阿里云服务器搭建(Centos7系统)
安装条件:
(1)阿里云服务器
租一台阿里云服务器,学生党炒鸡便宜,只要9.9,还包邮(PS. 我用的CentOS7)
(2)EMQ 的MQTT软件包
(3)本地电脑,ubuntu系统/CentOS系统
(4)windows 下的MQTT,需要安装jdk
操作流程:
在CentOS7上下载EMQ的broker开源代码
EMQ公司网址:https://www.emqx.io/cn/
此处应有几个骚操作:
(1)你自己下安装包到阿里云云服务器,安装;
(2)git源码,下载到云服务器,自己编译,然后安装;
按照EMQ官方给的教程,如图1:
第一种方法,我试了,实在是下不下来。
(PS. 我还更新了阿里的yum源,实在无解)
图1第二种方法(rpm包安装EMQ X),如图2,按照此教程,我git clone 下来了源代码,但是需要编译,还要安装erlang等杂七杂八的环境。放弃了。
图2由于我不知道如何git命令下载release文件(请大神教教我)
但我还可以手动下载到我本地电脑,然后再通过spc协议传到阿里云的服务器,,曲线救国,机智如我,2333。
github网址:https://github.com/emqx/emqx/releases
点开上面网页的github,往下翻,看到releases版本的,emqx-centos7-v3.2.2.x86_64.rpm,赶紧的手动下载,速度流畅到飞起。
图3 图4下载完成,开始从本地上传到阿里云服务器。
已知阿里云服务器的外网地址,本地电脑开个ubunutu,或者centos的模拟器,将emqx-centos7-v3.2.2.x86_64.rpm文件导入到linux系统里。
此命令在本机的linux系统上操作:
scp命令
格式:scp file root@ip:~
scp emqx-centos7-v3.2.2.x86_64.rpm root@阿里云外网ip:~
输入你阿里云服务器的密码,waiting。。。
等一会,就会传到你阿里云的服务器上了。
图5按照EMQ教程上,在阿里云平台接收emqx-centos7-v3.1.0.x86_64.rpm 安装包,开始安装!!!
如下命令在阿里云平台上操作的:
安装命令
$ sudo rpm -ivh emqx-centos7-v3.1.0.x86_64.rpm
直接启动
//启动
$ emqx start
emqx 3.1.0 is started successfully!
//查看状态
$ emqx_ctl status
Node 'emqx@127.0.0.1' is startedemqx v3.1.0 is running
现在,我满心欢喜的想着,我终于特么部署上了,是不是就可以用mqtt客户端互发消息了,2333。
但现实总是无情的,naive,因为阿里云服务器默认端口只开放-1,22,和3389端口。
让我们再来看一下MQTT的使用端口介绍(在EMQ官网有描述)
图6发现要自己开放阿里云端口,并且手动写规则
非常简单,添加安全组规则,详细可以看这篇文章https://www.cnblogs.com/ergexy/p/9718732.html
我加了两个TCP端口,一个是MQTT协议端口,一个是Dashboar 管理控制台。你要是有需求再增加。
图7到此为止,服务器完全就可以用了。
windows端的MQTT下载讲解,需要安装jdk
https://www.jianshu.com/p/48c36b72fec2
打开Paho MQTT的客户端,服务器地址格式:
服务器地址
tcp://阿里云外网ip:1883
客户机标识随便写,但不要重复
选项里面的密码和用户名,先不填。
订阅,发布,就ok啦。
图8如果你开放了18083端口,登录这个网址,可以查看你自己的mqtt服务器控制台
图9http://你的阿里云外网ip:18083
默认
用户名:admin
密码:public
参考文章:
https://www.jianshu.com/p/ebbe25d1c4b2
https://www.jianshu.com/p/d309de966379
https://www.cnblogs.com/ergexy/p/9718732.html
https://docs.emqx.io/broker/v3/cn/
https://www.jianshu.com/p/48c36b72fec2
感谢上述老哥老姐们的博客,谢谢你们,我才能搞定。