前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >轻量MQTT服务器mosquitto搭建笔记

轻量MQTT服务器mosquitto搭建笔记

原创
作者头像
xinhuo
发布2022-03-11 02:03:58
3.5K0
发布2022-03-11 02:03:58
举报
文章被收录于专栏:一些笔记

搭建流程

安装

  • 直接yum
代码语言:javascript
复制
yum install mosquitto

添加用户

  • 用户信息都是保存在一个文件中的。
  • 添加有两种方式,一种是直接覆写文件,一种是追加文件;前者添加后原用户信息全部丢失,后者不会。
创建用户密码文件并添加用户(如存在则覆写)
  • 格式:sudo mosquitto_passwd -c [文件路径] [用户名]
代码语言:javascript
复制
sudo mosquitto_passwd -c /etc/mosquitto/pwdfile [用户名]
- 输入用户密码
- 再次输入用户密码
追加用户(不会覆写)
  • 格式:mosquitto_passwd -b [最终生成的password_file文件] [用户名] [密码]
代码语言:javascript
复制
mosquitto_passwd -b /etc/mosquitto/pwdfile  [用户名]  [密码]
  • ps.删除用户最简单的方法就是直接用nano或者vim这类编辑的进用户密码文件把待删用户那行删除。

修改配置文件

  • 目标是禁止匿名登录,并且设置用户密码文件路径。

配置文件路径:/etc/mosquitto/mosquitto.conf

  • 用nano或者vim编辑这个文件,去掉如下两行语句注释,并且设置值
代码语言:javascript
复制
#设置不允许匿名登录
allow_anonymous false
​
#设置账户密码文件位置为:/etc/mosquitto/pwdfile
password_file /etc/mosquitto/pwdfile
一些问题及解决
  • 如果禁止了匿名登录但是没有设置password_file,就会出现用任意用户名和密码(除了空用户名密码)都可以登录MQTT服务的情况。

启动服务,设置自启

  • ps. 每次修改完配置都要重启服务才生效
代码语言:javascript
复制
# 自启动
> sudo systemctl enable mosquitto   
# 运行服务
> sudo systemctl start mosquitto

测试部署结果(尝试用mosquitto_sub订阅并监听主题)

  • 注:默认端口是1883,可以到配置文件中改。

SSH终端输入

代码语言:javascript
复制
mosquitto_sub --host [服务器IP] -p [服务端口] -u [用户名] -P [密码] -t [主题]
  • 这时在别的电脑用MQTT测试工具连上MQTT服务器并给这个主题发布消息,就可以在SSH终端看到发布的消息了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搭建流程
    • 安装
      • 添加用户
        • 创建用户密码文件并添加用户(如存在则覆写)
        • 追加用户(不会覆写)
      • 修改配置文件
        • 一些问题及解决
      • 启动服务,设置自启
        • 测试部署结果(尝试用mosquitto_sub订阅并监听主题)
        相关产品与服务
        云服务器
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档