代码改变世界

Linux下安装搭建MQTT服务器-02

2023-04-15 16:21  ly772186472  阅读(535)  评论(0编辑  收藏  举报

MQTT协议超全面总结:https://blog.csdn.net/JACK_SUJAVA/article/details/124558524

MQTT 服务端主要用于与多个客户端保持连接,并处理客户端的发布和订阅等逻辑。一般很少直接从服务端发送消息给客户端(可以使用 mqttServer.Publish(appMsg); 直接发送消息),多数情况下服务端都是转发主题匹配的客户端消息,在系统中起到一个中介的作用。

参考博客地址:https://blog.csdn.net/qq_21561501/article/details/105684989

本示列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.10
https://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,可以通过配置文件修改

===========================

新手安装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

 

可以修改默认配置端口(指令: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