Mosquitto部署(一)

本文详细介绍了如何使用Docker拉取EclipseMosquittoMQTT服务器的镜像,并进行配置,包括创建目录、配置文件如mosquitto.conf、pwfile.conf和aclfile.conf,以及启动容器、添加用户和授权。还提到了mosquitto的语法和验证过程,包括用户验证和匿名验证,并给出了配置文件的注意事项。
摘要由CSDN通过智能技术生成

目录

一、拉取镜像

二、配置

1、创建目录

2、配置文件:mosquitto.conf

3、配置文件:pwfile.conf

4、配置文件:aclfile.conf

5、启动容器

6、添加用户并授权

 7、注意事项

三、mosquitto语法

四、验证

1、用户验证

2、匿名验证

3、注意


一、拉取镜像

docker pull eclipse-mosquitto:2.0.15-openssl

二、配置

1、创建目录

# 配置文件目录
mkdir -p /mosquitto/config
# 持久化数据目录
mkdir -p /mosquitto/data
# 日志目录
mkdir -p /mosquitto/log
# 注意事项 文件夹授权
chmod -R 755 /mosquitto

2、配置文件:mosquitto.conf

# 修改配置文件
# vi /mosquitto/config/mosquitto.conf

# 开启持久化
persistence true
# 持久化目录
persistence_location /mosquitto/data
# 日志输出文件
log_dest file /mosquitto/log/mosquitto.log
# 监听端口
listener 1883
# 允许匿名访问
allow_anonymous true
# 认证账号密码存储配置文件
password_file /mosquitto/config/pwfile.conf
# 权限划分
acl_file /mosquitto/config/aclfile.conf

3、配置文件:pwfile.conf

touch /mosquitto/config/pwfile.conf
chmod -R 755 /mosquitto/config/pwfile.conf

4、配置文件:aclfile.conf

touch /mosquitto/config/aclfile.conf
chmod -R 755 /mosquitto/config/aclfile.conf

5、启动容器

docker run -it --name=mosquitto -p 1883:1883 -v /mosquitto/config:/mosquitto/config  -v /mosquitto/data:/mosquitto/data -v /mosquitto/log:/mosquitto/log -d eclipse-mosquitto::2.0.15-openssl 

6、添加用户并授权

# pwfile.conf
# 生成账号/密码
mosquitto_passwd -b /mosquitto/config/pwfile.conf test test

# vi aclfile.conf
# 最前无用户为匿名
topic anonymous/topic/#
user test
topic readwrite test/topic/+/pub
topic readwrite test/topic/type/#

 7、注意事项

# 修改完成配置文件后重启容器
docker restart [imageID]

三、mosquitto语法

# aclfile.conf 配置文件语法
# 用户
user <username>
# topic
topic [read|write|readwrite|deny] <topic>

# 正则
pattern [read|write|readwrite|deny] <topic>


# 创建用户
mosquitto_passwd -b [/path/to/pwfile.conf] [username] [password]

四、验证

1、用户验证

# 进入容器内验证
dokcer exec -it [imageId] /bin/sh

# 订阅消息
/ # mosquitto_sub -u test -P test -t test/topic/123/pub

# 发送消息
/ # mosquitto_pub -u test -P test -t test/topic/123/pub -m "{'aa':'bb'}"

# 此时在订阅消息下会显示
/ # mosquitto_sub -u test -P test -t test/topic/123/pub
{'aa':'bb'}

2、匿名验证

# 订阅消息
/ # mosquitto_sub -t anonymous/topic/123

# 发布消息
/ # mosquitto_pub -t anonymous/topic/123 -m "{'aa':'bb'}"

# 订阅收到消息
/ # mosquitto_sub -t anonymous/topic/123
{'aa':'bb'}

3、注意

# aclfile.conf
# 权限生产消息成功但消费不到数据
topic anonymous/topic/#

# 读写消息
topic readwrite anonymous/topic/#

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要将Mosquitto部署到云端,你可以按照以下步骤进行操作: 1. 选择一个云服务提供商,如AWS、Azure或Google Cloud Platform。注册一个账号并登录到云平台控制台。 2. 在控制台中创建一个虚拟机实例(通常称为云服务器或EC2实例),选择适合你需求的实例类型和配置。确保为实例选择一个可用的地区和操作系统。 3. 在创建实例后,连接到实例并进行初始化设置。你可能需要安装一些基本软件和服务,如更新操作系统、安装编译工具等。 4. 下载并安装Mosquitto。你可以从Mosquitto官方网站下载安装包,也可以使用系统包管理工具进行安装。 5. 配置Mosquitto。编辑Mosquitto配置文件,通常位于/etc/mosquitto/mosquitto.conf。你可以根据需要进行自定义配置,例如端口号、认证机制等。 6. 启动Mosquitto服务。使用系统的init脚本或systemd单位文件(根据操作系统的不同)启动Mosquitto。 7. 配置安全组或网络ACL规则,允许外部设备通过MQTT协议连接到你的云服务器。确保将MQTT端口(默认为1883)打开,并根据需要配置其他相关的安全策略。 8. 测试Mosquitto服务器是否正常工作。可以使用MQTT客户端工具(如mosquitto_sub和mosquitto_pub)或开发的应用程序连接到服务器并进行发布和订阅操作。 以上是基本的步骤,具体操作可能会根据你选择的云平台和操作系统有所不同。请参考相关的文档和教程以获取更详细的指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公不搬砖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值