前序
MQTT 消息服务器
EMQ X (简称 EMQ), 是一款完全开源,高度可伸缩,高可用的分布式 MQTT 消息服务器,同时也支持 CoAP/LwM2M 一站式 IoT 协议接入。EMQ 是 5G 时代万物互联的消息引擎,适用于 IoT、M2M 和移动应用程序,可处理千万级别的并发客户端。
今日内容
- EMQX的安装
- EMQX控制台
- 安装遇到的问题
- EMQX中的命令
1.EMQX的安装
emqx 是有相当完善的官方文档的,安装只需要根据官方文档来就行其中安装是可以在多个系统进行安装的
EMQX官方文档
可以在这里选择文档的版本
因为服务器中安装的是4.3版本的我就介绍下4.3版本emqx的安装吧
博主提示如果是客户端尽量使用命令行进行安装,其实也可以在windows下载好后安装包后再移到服务器上,但是会麻烦
查看emqx的状态
emqx_ctl status
正常启动的状态:
Node ‘emqx@127.0.0.1’ 4.3.22 is started
启动报错的状态:
Node ‘emqx@127.0.0.1’ not responding to pings.
ERROR: node_is_not_running !
查看emqx端口是否开启
1.查看端口是否已启动 1883 是emqx服务端口 18083是emqx控制台端口
netstat -tlnp
2.其实还可以通过Windons 中的cmd控制台查看是否开启成功
telnet 服务器IP 1883
开启服务器端口
如果想让其他机器能访问到服务器的emqx服务需要开放其服务器对应的端口(有些服务器使用命令行不一定能开启端口,可能需要在平台开启)
firewall-cmd --add-port=18083/tcp --permanent
firewall-cmd --zone=public --add-port=1883/tcp --permanent
防火墙命令
systemctl start firewalld # 防火墙开启
systemctl stop firewalld #防火墙关闭
systemctl status firewalld #查看防火墙状态
systemctl restart firewalld #重启防火墙
2.EMQX控制台
访问方式,打开浏览器,输入:
服务器IP:18083
会进入登录界面,默认的用户名和密码是
用户名 admin
密码 public
进入界面后会让你修改默认密码
这里可以看到emqx订阅的topic数量,还有客户端连接数,都能在这里直观看到
3.安装遇到的问题
问题一
这个问题可能是需要安装openssl1.1,这个问题是通过Windows下载安装包移到linux中遇到的问题,可以通过下面的命令进行尝试解决下
yum install -y epel-release #安装epel源
yum install -y openssl11 openssl11-devel #安装-1.1版本
sudo yum install emqx-5.0.6-el7-amd64.rpm #进行安装EMQX
问题二
emqx使用 emqx start进行启动EMQX
显示EMQX启动成功
但是使用 emqx_ctl status 查看状态时显示
报错:
Node ‘emqx@127.0.0.1’ not responding to pings.
ERROR: node_is_not_running !
这就很疑惑了,于是查看了一下启动的端口也没有看到emqx默认的1883端口启动
netstat -tlnp 查看启动的端口
于是后面在网上找了很多教程要么就是说删除emqx再安装,要么是停止emqx再启动,但是都不行,于是没办法后面去请教了大佬,后面通过一系列操作发现是需要更改一下默认的名字
如果不知道emqx.conf文件的可以使用
find / -name emqx.conf 进行查找文件位置
vi /etc/emqx/emqx.conf #编辑文件
:wq! #保存退出
:q! #不保存退出
虽然不知道为啥会这样但是就是好了,挺玄学的
4.EMQX中的命令
emqx_ctl status #查看emqx状态
emqx stop #停止emqx
emqx start #启动emqx
emqx restart #重启emqx
sudo yum remove emqx #卸载emqx
记录一波linux命令
mkdir 文件名 #创建新文件夹
whereis emqx #查询emqx安装目录文件
find / -name emqx #查询emqx名字的文件或者文件夹
sudo #以系统管理员的省份执行指令
sudo yum install emqx-5.0.6-el7-amd64.rpm #安装emqx
ps aux | grep emqx #查看emqx进程
后记
任重道远