在升级或者安装服务器软件版本的时候,在升级脚本里面,实现自动的升级mosquitto服务,并且校验和修改mosquitto服务打开的最大文件数。
由于调整mosquitto服务的最大文件打开数量的流程比较多,也比较繁琐,在自动升级的时候,有可能存在失败的情况,当出现失败的时候,需要安装服务器的人员手动进行处理。
该文档就是提供手动安装的具体方法,以便于解决自动升级出现失败的情况。
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
在安装完成mosquitto之后,执行systemctl status mosquitto | grep loaded,可以看到load的方式是否是从一个service文件的。支持的情况如下:
/lib/systemd/system/mosquitto.service文件就是该服务启动的service文件。
打开/lib/systemd/system/mosquitto.service文件,然后再[Service]下面增加一行内容:\\LimitNOFILE = 5000
需要将限制设置大于2048,建议设置为5000即可,修改之后效果如下:
systemctl daemon-reload
/etc/init.d/mosquitto restart
获取mosquitto的pid,然后查看/proc/pid/limits文件,如下:
可以看到Max open files 已经变为了5000,此时就可以正常连接2048个设备了。