Mac下安装和配置Mosquitto
文章目录
安装
Mac下通过brew
安装Mosquitto只需要一条简单的命令:brew install mosquitto
1mosquitto has been installed with a default configuration file.
2You can make changes to the configuration by editing:
3 /usr/local/etc/mosquitto/mosquitto.conf
4
5To restart mosquitto after an upgrade:
6 brew services restart mosquitto
7Or, if you don't want/need a background service you can just run:
8 /usr/local/opt/mosquitto/sbin/mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf
安装完成后,默认情况下可执行文件和配置文件的位置如下:
1➜ ~ ll /usr/local/bin | grep mosquitto
2lrwxr-xr-x 1 jonathanlin admin 47B Nov 25 11:48 mosquitto_ctrl -> ../Cellar/mosquitto/2.0.10_1/bin/mosquitto_ctrl
3lrwxr-xr-x 1 jonathanlin admin 49B Nov 25 11:48 mosquitto_passwd -> ../Cellar/mosquitto/2.0.10_1/bin/mosquitto_passwd
4lrwxr-xr-x 1 jonathanlin admin 46B Nov 25 11:48 mosquitto_pub -> ../Cellar/mosquitto/2.0.10_1/bin/mosquitto_pub
5lrwxr-xr-x 1 jonathanlin admin 45B Nov 25 11:48 mosquitto_rr -> ../Cellar/mosquitto/2.0.10_1/bin/mosquitto_rr
6lrwxr-xr-x 1 jonathanlin admin 46B Nov 25 11:48 mosquitto_sub -> ../Cellar/mosquitto/2.0.10_1/bin/mosquitto_sub
7
8➜ ~ ll /usr/local/etc/mosquitto | grep mosquitto.conf
9lrwxr-xr-x 1 jonathanlin admin 60B Nov 25 11:48 mosquitto.conf -> ../../Cellar/mosquitto/2.0.10_1/etc/mosquitto/mosquitto.conf
配置
修改配置文件,显式关闭匿名访问,同时指定账号密码保存路径:
1allow_anonymous false
2password_file /Users/jonathanlin/Workspace/mosquitto/pwd
使用mosquitto_passwd
创建两个测试账号:
1➜ mosquitto mosquitto_passwd -c ~/Workspace/mosquitto/pwd admin # 注意密码不要使用特殊字符@
2Password:
3Reenter password:
4
5➜ mosquitto mosquitto_passwd ~/Workspace/mosquitto/pwd user # 这里不再需要-c参数,否则是覆盖之前的文件
6Password:
7Reenter password:
通过brew
启动mosquitto
:
1➜ mosquitto brew services start mosquitto
2==> Successfully started `mosquitto` (label: homebrew.mxcl.mosquitto)
或者执行二进制文件:
1➜ ~ /usr/local/sbin/mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf
使用mosquitto_sub
订阅一个主题:
1➜ mosquitto mosquitto_sub -u admin -P 1234 -t 'topic-test' -v
使用mosquitto_pub
往主题里发送消息:
1➜ ~ mosquitto_pub -u admin -P 1234 -t 'topic-test' -m 'test'