1.海豚MQTT-Mosquitto(1)
海豚MQTT-Mosquitto(1)
在决定使用MQTT协议后,海豚海豚搭建MQTT服务器的影视源码影视源码首要任务是选择MQTT Broker。虽然云平台提供了付费服务,下载但个人项目成本较高,海豚海豚因此个人用户可能会选择自建服务器,影视源码影视源码如之前双十一购买的下载页面探测返回源码低配服务器,非常适合实验用途。海豚海豚
在选择后台方案时,影视源码影视源码市场上MQTT Broker选项众多。下载早期,海豚海豚我曾参考过一些资料,影视源码影视源码那时Mosquitto因其轻量级和C语言实现的下载优点,是海豚海豚我的首选。然而,影视源码影视源码鉴于其更新不频繁且扩展功能有限,下载斗米网源码上一次搭建过程中遇到不少困难,这次我决定寻找更为现代化的解决方案,尽管它曾是我的起点。
安装和运行Mosquitto在Centos服务器上相对简单,只需要几个命令即可。为了保证安全性,我关闭了默认的燕窝溯源码克数匿名访问,通过创建adam用户并存储在/etc/mosquitto/clipasswd文件中,并设置了用户密码登录。接着,我修改了mosquitto.conf文件,强制客户端使用用户名和密码进行认证,并重启了服务。
接下来,售后系统php源码我开始转向SSL加密,需要生成自签名的证书。通过一系列命令,我生成了cacert.pem, server.crt, 和server.key文件。然后,我修改了mosquitto.conf,将非加密端口绑定到本地,分红游戏app源码添加了SSL相关配置,并重启了服务。测试连接时,确保使用正确的域名和证书文件。
然而,仅此还不够,我需要对访问权限进行控制。这超出了Mosquitto的基本功能,需要借助第三方插件mosquitto-auth-plug来实现。但该插件已停止维护,且与我使用的mosquitto-1.6.版本存在兼容性问题。我下载了对应版本的源码和openssl,进行了编译,并对auth-plug.c文件进行了必要的修改。接着,我将mosquitto的动态库调整到正确位置,并在Makefile中添加了链接参数。
在配置mosquitto时,我删除了之前用到的密码文件,转而依赖数据库管理。我创建了数据库表,定义了新的权限规则,并利用mosquitto的np工具生成用户密码,将其写入数据库。至此,通过MySQL控制用户登录和权限的Mosquitto配置已完成。
最后,为了测试MQTT服务器的性能,我附带了一个压测工具。通过以上步骤,一个安全且可扩展的MQTT服务器已经搭建完毕,满足了对用户访问权限的控制需求。