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 '[email protected]' 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服务器控制台

http://你的阿里云外网ip:18083

默认

用户名:admin

密码:public


图9


参考文章:

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

感谢上述老哥老姐们的博客,谢谢你们,我才能搞定。

你可能感兴趣的:(MQTT阿里云服务器搭建(Centos7系统))