MQTT在Ubuntu下安装

Mosquitto

1、安装

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa

2、更新软件包

sudo apt-get update

3、安装

sudo apt-get install mosquitto -y

4、安装命令行客户端

sudo apt-get install mosquitto-clients -y

5.配置

sudo vim /etc/mosquitto/mosquitto.conf

6、复制内容到文件里面

#添加监听端口(很重要,否则只能本机访问)
listener 1883
pid_file /run/mosquitto/mosquitto.pid
# 消息持久存储
persistence true
#消息持久存储位置
persistence_location /var/lib/mosquitto/
#日志文件
log_dest file /var/log/mosquitto/mosquitto.log
# 其他配置
include_dir /etc/mosquitto/conf.d
#禁止匿名访问,客户端必须使用用户名
allow_anonymous false
# 认证配置
password_file /etc/mosquitto/pwfile
# 权限配置
acl_file /etc/mosquitto/aclfile

7、创建认证文件pwfile

sudo vim /etc/mosquitto/pwfile

8、开启服务

sudo mosquitto_passwd /etc/mosquitto/pwfile yishujun  #yishujun 是我当前用户名

9、配置权限aclfile

sudo vim /etc/mosquitto/aclfile

10、配用户发布订阅主题权限

# A发布以test为前缀的主题,订阅以$SYS开头的主题即系统主题
user A
topic write test/#
topic read $SYS/#
# B订阅以test为前缀的主题
user B
topic read test/#

11、启动服务

#-c:指定特定配置文件启动
#-d:后台运行
mosquitto -c /etc/mosquitto/mosquitto.conf -d

12、命令:

  • 发布命令 mosquitto_pub
  • 订阅命令 mosquitto_sub
  • 常用参数:
    -c 设定‘clean session’为无效状态,这样一直保持订阅状态,即便是已经失去连接,如果再次连接仍旧能够接收的断开期间发送的消息。
    -d 打印debug信息
    -h 指定要连接的域名 默认为localhost
    -i 指定clientId
    -I 指定clientId前缀
    -k keepalive 每隔一段时间,发PING消息通知broker,仍处于连接状态。 默认为60秒。
    -q 指定希望接收到QoS为什么的消息 默认QoS为0
    -R 不显示陈旧的消息
    -t 订阅topic
    -v 打印消息
    -u 用户名
    -P 密码
    13、订阅
 mosquitto_sub -h localhost -t "test/#" -u B 

14、发布

mosquitto_pub -h localhost -t "test/abc" -u A -m "How are you?"
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容