MQTT协议超全面总结:
MQTT 服务端主要用于与多个客户端保持连接,并处理客户端的发布和订阅等逻辑。一般很少直接从服务端发送消息给客户端(可以使用 mqttServer.Publish(appMsg);
直接发送消息),多数情况下服务端都是转发主题匹配的客户端消息,在系统中起到一个中介的作用。
参考博客地址:
本示列Linux系统为CentOS 7.9
mqtt服务器采用emqx开源项目,根据系统版本选择对应的emqx的版本为emqx-centos7-4.2.10-x86_64.zip
emqx相关文档地址如下:https://docs.emqx.cn/broker/v4.3/getting-started/install.html
https://www.emqx.com/en/downloads/broker/v4.2.10https://www.emqx.com/en/downloads/broker/v4.2.10/emqx-centos7-4.2.10.x86_64.rpm
cd /export/servers/emqx
vim ./etc/emqx.conf
vim ./etc/plugins/emqx_auth_http.conf
vim ./etc/plugins/emqx_auth_username.conf
./bin/emqx console 控制台调试模式
./bin/emqx start 启动eqmtt服务
./bin/emqx stop 停止服务
./bin/emqx restart
./bin/emqx_ctl status 查看运行状态
./bin/emqx uninstall 服务卸载
./bin/emqx_ctl admins passwd admin 密码
服务地址:broker=tcp://127.0.0.1:1883
控制台:http://127.0.0.1:18083/
启动成功可以 通过浏览器访问 http://127.0.0.1:18083,将看到一个EMQX的Dashboard管理控制台登录界面
用户名和密码的默认值为 admin和public,可以通过配置文件修改
可以修改默认配置端口(指令:vim /emqtt/etc/emq.conf修改)
配置文件为/emqtt/etc/emq.conf
1.修改mqtt External TCP端口,该端口默认为1883,为mqtt主要连接端口
2.修改mqtt Internal TCP端口,该端口默认为11883
3.修改mqtt External SSL端口,该端口默认为8883
4.修改mqtt WebSocket 端口,
5.修改mqtt WebSocket SSL端口配置文件为/emqtt/etc/emq.conf
6.修改mqtt API 端口配置文件为/emqtt/etc/emq.conf
配置文件为/emqtt/etc/plugins/emq_dashboard.conf
修改mqtt Dashboard 管理控制台端口,默认端口18083
新手安装emqx启动报错
15秒未启动,console里报这个错误
Kernel pid terminated (application_controller) ({application_start_failure,k...
在git的issues中终于找到了答案,解决办法很简单:
更新OpenSSL!我的原来是1.0.1,更新为1.0.2就好了。linux升级openssl版本
测试是否升级成功 openss version -v
Linux版本:CentOS 5.11,由于Openssl版本较低,故此升级版本来解决一些小问题。
1:查看openssl版本:
[root@server-008 ~]# openssl version
OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
2:我们想升级成Openssl 1.0.2(任意高版本都可用以下方法进行尝试,本次实验针对1.0.2q),按照如下操作进行操作
wget https://www.openssl.org/source/openssl-1.0.2q.tar.gz --no-check-certificate
由于我的wget下载https有点问题,估计添加--no-check-certificate可以忽略https加密问题
3:进行解压安装
tar zxvf openssl-1.0.2q.tar.gz
cd openssl-1.0.2q
./config
make
make install
4:安装完成之后,可以查看openssl版本,发现还是之前的版本,不要急,过程还没有结束,继续按照如下进行操作:
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
ldconfig -v
(如若出现mv: 无法 stat “/usr/include/openssl”: 没有那个文件或目录问题,不用在意,继续操作)
5:安装完成后,查看openssl版本是否已经升级成功:
[root@localhost /]# openssl version
OpenSSL 1.0.2q 20 Nov 2018
至此,升级完成!