周光华 發表於 2022-11-8 18:43:00

Linux下安装搭建MQTT服务器

<p id="articleContentId" class="title-article">MQTT协议超全面总结:https://blog.csdn.net/JACK_SUJAVA/article/details/124558524</p>
<p class="title-article">MQTT 服务端主要用于与多个客户端保持连接,并处理客户端的发布和订阅等逻辑。一般很少直接从服务端发送消息给客户端(可以使用&nbsp;<code>mqttServer.Publish(appMsg);</code>&nbsp;直接发送消息),多数情况下服务端都是转发主题匹配的客户端消息,在系统中起到一个中介的作用。</p>
<p>参考博客地址:https://blog.csdn.net/qq_21561501/article/details/105684989</p>
<p id="articleContentId" class="title-article">本示列Linux系统为CentOS 7.9</p>
<p class="title-article">mqtt服务器采用emqx开源项目,根据系统版本选择对应的emqx的版本为emqx-centos7-4.2.10-x86_64.zip</p>
<p>emqx相关文档地址如下:https://docs.emqx.cn/broker/v4.3/getting-started/install.html</p>
<p>https://www.emqx.com/en/downloads/broker/v4.2.10<br>https://www.emqx.com/en/downloads/broker/v4.2.10/emqx-centos7-4.2.10.x86_64.rpm</p>
<p>cd /export/servers/emqx<br>vim ./etc/emqx.conf<br>vim ./etc/plugins/emqx_auth_http.conf<br>vim ./etc/plugins/emqx_auth_username.conf<br>./bin/emqx console 控制台调试模式<br>./bin/emqx start 启动eqmtt服务<br>./bin/emqx stop 停止服务<br>./bin/emqx restart<br>./bin/emqx_ctl status 查看运行状态<br>./bin/emqx uninstall 服务卸载<br>./bin/emqx_ctl admins passwd admin 密码</p>
<p>服务地址:broker=tcp://127.0.0.1:1883<br>控制台:http://127.0.0.1:18083/   </p>
<p>启动成功可以 通过浏览器访问 http://127.0.0.1:18083,将看到一个EMQX的Dashboard管理控制台登录界面</p>
<p>用户名和密码的默认值为 admin和public,可以通过配置文件修改</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">可以修改默认配置端口(指令:vim </span>/emqtt/etc/<span style="color: rgba(0, 0, 0, 1)">emq.conf修改)

配置文件为</span>/emqtt/etc/<span style="color: rgba(0, 0, 0, 1)">emq.conf

</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.修改mqtt External TCP端口,该端口默认为1883,为mqtt主要连接端口

</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">.修改mqtt Internal TCP端口,该端口默认为11883

</span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">.修改mqtt External SSL端口,该端口默认为8883

</span><span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">.修改mqtt WebSocket 端口,

</span><span style="color: rgba(128, 0, 128, 1)">5</span>.修改mqtt WebSocket SSL端口配置文件为/emqtt/etc/<span style="color: rgba(0, 0, 0, 1)">emq.conf

</span><span style="color: rgba(128, 0, 128, 1)">6</span>.修改mqtt API 端口配置文件为/emqtt/etc/<span style="color: rgba(0, 0, 0, 1)">emq.conf

配置文件为</span>/emqtt/etc/plugins/<span style="color: rgba(0, 0, 0, 1)">emq_dashboard.conf

修改mqtt Dashboard 管理控制台端口,默认端口18083</span></pre>
</div>
<p>&nbsp;</p>
<p>新手安装emqx启动报错</p>
<p>15秒未启动,console里报这个错误</p>
<p>Kernel pid terminated (application_controller) ({application_start_failure,k...</p>
<p>在git的issues中终于找到了答案,解决办法很简单:</p>
<p>更新OpenSSL!我的原来是1.0.1,更新为1.0.2就好了。linux升级openssl版本</p>
<p>测试是否升级成功&nbsp;openss version -v</p>
<p>Linux版本:CentOS&nbsp;5.11,由于Openssl版本较低,故此升级版本来解决一些小问题。</p>
<p>1:查看openssl版本:</p>
<p># openssl version</p>
<p>OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008</p>
<p>2:我们想升级成Openssl 1.0.2(任意高版本都可用以下方法进行尝试,本次实验针对1.0.2q),按照如下操作进行操作</p>
<p>wget https://www.openssl.org/source/openssl-1.0.2q.tar.gz --no-check-certificate</p>
<p>由于我的wget下载https有点问题,估计添加--no-check-certificate可以忽略https加密问题</p>
<p>3:进行解压安装</p>
<p>tar zxvf openssl-1.0.2q.tar.gz</p>
<p>cd openssl-1.0.2q</p>
<p>./config</p>
<p>make</p>
<p>make install</p>
<p>4:安装完成之后,可以查看openssl版本,发现还是之前的版本,不要急,过程还没有结束,继续按照如下进行操作:</p>
<p>mv /usr/bin/openssl /usr/bin/openssl.bak<br data-filtered="filtered">mv /usr/include/openssl /usr/include/openssl.bak<br data-filtered="filtered">ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl<br data-filtered="filtered">ln -s /usr/local/ssl/include/openssl /usr/include/openssl<br data-filtered="filtered">echo “/usr/local/ssl/lib” &gt;&gt; /etc/ld.so.conf<br data-filtered="filtered">ldconfig -v</p>
<p>(如若出现mv: 无法 stat “/usr/include/openssl”: 没有那个文件或目录问题,不用在意,继续操作)</p>
<p>5:安装完成后,查看openssl版本是否已经升级成功:</p>
<p># openssl version</p>
<p>OpenSSL 1.0.2q 20 Nov 2018</p>
<p>至此,升级完成!</p><br><br>
来源:https://www.cnblogs.com/li150dan/p/16870796.html
頁: [1]
查看完整版本: Linux下安装搭建MQTT服务器