mosquitto是一款MQTT的Broker软件,安装完毕后,会以服务的形式运行在主机上。只要我们开启服务,便可以让MQTT客户端连接,进行调试工作。
设置IP和Port
- 进入mosquitto安装目录,会看到文件
mosquitto.conf
,如果不存在该文件,可创建。打开mosquitto.conf,在文件尾部追加行。
listener 1883 172.15.7.43
说明:其中,1883
是端口,172.15.7.43
是IP,可根据个人需求设置具体的IP和端口。
设置账户和密码
mosquitto支持设置多个账户。
- 打开mosquitto.conf,在文件尾部追加行
allow_anonymous false
password_file C:\Program Files\Mosquitto\pwfile.example
说明:mosquitto作为MQTT的broker,默认情况下是支持客户端无账号密码连接的。allow_anonymous false
意思是禁止客户端采用无账号密码的匿名访问方式。password_file C:\Program Files\Mosquitto\pwfile.example
意思是设置Broker存储账号密码的文件是C:\Program Files\Mosquitto\pwfile.example
.
-
以管理员身份打开Windows PowerShell
-
切换到mosquitto安装目录
cd 'C:\Program Files\Mosquitto\'
说明:powershell命令中,建议所有的路径使用单引号包裹,尤其路径中含有空格的情况,这样兼容性会更好。
-
添加账户。假设我们要添加的账户是
admin
.\mosquitto_passwd.exe -c .\pwfile.example admin
说明:
admin
是要添加的账户名,放到命令的末尾。.\pwfile.example
意思是指把账户信息写入到文件pwfile.example
,-c
意思是如果.\pwfile.example
不为空,即已存在账户信息,那么就把原来的账户信息抹除掉,即覆盖(override)pwfile.example
。运行完此命令后,mosquitto现在只存在一个账户admin
。 -
如果我们还想再添加其他账号,则继续运行下面命令;否则结束。
假设我们继续添加第二个账户
test
.\mosquitto_passwd.exe .\pwfile.example test
注意 : 本次命令中不要加
-c
,否则会覆盖掉pwfile.example
,抹除之前的所有账户信息,导致只存在账户test
.
重启服务mosquitto broker
说明:和MySQL一样,修改完配置文件,需要重启服务生效。