使用mosquitto部署MQTT服务

本次实验使用版本:mosquitto-1.6.7

查看版本命令:mosquitto -v

1安装

make && make install,安装mosquitto。

安装完毕后放开防火墙

  • 查看防火墙某个端口是否开放 firewall-cmd --query-port=1883/tcp

  • 开放防火墙端口80 firewall-cmd --zone=public --add-port=1883/tcp --permanent

  • 配置立即生效

  • firewall-cmd --reload

2 模拟发布订阅

第一步 首先开一个终端,启动mosquitto服务(broker)

查看服务 ps -aux | grep mosquitto

启动MQTT服务 mosquitto -c /etc/mosquitto/mosquitto.conf -d

查看端口netstat -tunlp|grep 1883

第二步 开第二个终端(模拟订阅)

mosquitto_sub -p 1883 -v -t "test"

第三步 开第三个终端(模拟发布)

mosquitto_pub -p 1883 -t "test" -m "hello"

测试中出现的问题

1.报错./mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory

解决:执行以下命令: #sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1 #sudo ldconfig

2、在订阅和发布时如果没有指定端口号会报错

高级应用:

1 mosquitto设置用户名密码

把/etc/mosquitto下的pwfile.example和aclfile.example转成pwfile.conf、aclfile.conf

2 设置用户名和密码

mosquitto_passwd -c /etc/mosquitto/pwfile admin

输入密码admin123

3 vim /etc/mosquitto/aclfile

#admin只能发布以test为前缀的主题,订阅以开头的主题即系统主题

user admin topic write test/# topic read $SYS/#

4 设置日志文件输出路径

log_dest file /var/log/mosquitto.log

报错 修改权限

chmod 777 mosquitto.log

cd /var/log/mosquitto

chmod 777 mosquitto

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值