Mosquitto源码下载地址:
http://mosquitto.org/files/source/
相关工具以及依赖(都装就对了)
安装:
yum -y install gcc automake autoconf libtool make
安装g++:
yum install gcc gcc-c++
安装openssl-devel:
yum install openssl-devel
安装c-ares-devel:
yum install c-ares-devel
配置文件的移动和启动
记得将解压后安装后的mosquitto.conf移动到/etc/mosquitto目录下
启动
先要添加用户mosquitto:
adduser mosquitt
启动查看是否启动成功:
mosquitto -c /etc/mosquitto/mosquitto.conf
后台运行:
mosquitto -c /etc/mosquitto/mosquitto.conf -d
Mosquitto默认是匿名用户登录,修改成用户登录模式需要修改文件/etc/mosquitto/mosquitto.conf
添加如下:
allow_anonymous false
password_file /etc/mosquitto/pwfile //可以指定自己的文件
mosquitto_passwd -c /etc/mosquitto/pwfile admin//添加用户admin,存在有其他用户的情况下,不用-c ,-c 会把其他用户的信息清除掉。
示例:
项目中需要在django中自动生成用户。如何解决2中描述的手动输入密码的方式。
python 中提供了一个pexcept 工具可以解决这个问题。pip install pexcept 完成安装。
实现代码如下:
import pexpect
sub = pexpect.spawn(‘mosquitto_passwd /etc/mosquitto/pwfile %s’%‘testtest’)
sub.expect(‘Password:’)//模拟第一次密码输入
sub.sendline(‘123’)
sub.expect(‘Reenter password:’)//模拟第二次密码输入
sub.sendline(‘123’)
sub.interact()