• MQTT服务端安装ubuntu



    https://blog.csdn.net/weixin_43850980/article/details/122217933

    MQTT安装


    发送订阅terminal
    mosquitto_pub -t "test" -m "msssss测试内容"
    接收订阅terminal
    mosquitto_sub -v -t "test/#"

    MQTT的工作机制与http不同,服务器只是起着一个中转站的功能。每个客户端,都可以把消息通过服务器广播给所有其他客户端。Mqtt内称为订阅与发布:

    订阅:客户端向服务器登记要订阅某主题,后续有以该主题发布的消息时,就会发给该客户端

    发布:客户端向服务器发送一条消息,并说明要发布的主题,服务器就会将该消息广播给所有订阅了该主题的客户端

    mosquitto是一款开源的mqtt服务器(mqtt协议内称为broker),由eclipse推出,简单易用。本文就是介绍他的安装步骤

    1.安装
    Ubuntu下不需要去官网下载源码进行编译,直接用apt命令安装即可

    sudo apt install mosquitto
    sudo apt install mosquitto-clients
    第一条命令是安装mosquito本体,第二条是安装一个mqtt客户端软件

    2.运行
    下载后即可使用开始运行, 默认不需账号密码即可连接,默认使用1883端口。后面会介绍怎么修改配置。

    sudo service mosquitto start #启动服务

    sudo service mosquitto stop #停止服务

    sudo service mosquitto restart #重启服务

    3. 使用命令进行测试
    我们先开启两个命令行窗口,一个发,一个收。

    使用sub命令订阅主题,并进入接收状态,

    mosquitto_sub –v -t "主题"
    可选:-h 指定服务器ip地址

    -u 指定登陆用的用户名

    -P 指定登陆密码

    使用pub命令发布内容,所有订阅该主题的客户端都会收到

    mosquitto_pub -t "主题" -m "内容"
    可选:-h 指定服务器ip地址

    -u 指定登陆用的用户名

    -P 指定登陆密码

    测试情况如下图:

    Mosquito配置
    1 创建配置文件
    配置是通过编写配置文件进行的。系统默认使用的配置文件是/etc/mosquitto/mosquitto.conf,

    mosquitto.conf文件内申明了,所有存放在目录下的后缀名为.conf的文件,都会成为配置文件。既然官方都推荐将配置文件都放到那。

    那我们新建一个my.conf文件存放到/etc/mosquitto/conf.d/路径下

    sudo vim /etc/mosquitto/conf.d/my.conf
    2 配置
    完整的配置文件示例,存放在/usr/share/doc/mosquitto/examples/路径下,,可配置的项目很多,这里我们只配置启用几个常用的。

    将于以下内容存放到上一步创建的my.conf文件中

    #修改端口
    port 1800

    # 不允许匿名访问,需要使用账号密码才能连接服务器
    allow_anonymous false

    # 指定要使用的账号密码文件,需手动创建该文件
    password_file /etc/mosquitto/pwfile

    # 指定权限控制文件存放路径,需手动创建该文件
    acl_file /etc/mosquitto/aclfile
    3 添加用户
    用touch命令创建文件,用于存储用户密码,这个路径是上一步指定的,你可以修改成别的

    sudo touch /etc/mosquitto/pwfile
    密码是加密存储的,需要使用mosquitto_passwd命令来创建账号。

    以下命令的功能是创建user_pc这个用户,并将密码存储到指定的pwfile文件内,输入以下命令后会要求你输入密码。

    sudo mosquitto_passwd /etc/mosquitto/pwfile user_pc
    4 设置用户权限
    先创建存放用户权限的文件,这个路径是写在my.conf内的,你可以修改成别的

    sudo vim /etc/mosquitto/aclfile
    权限文件示例如下,a/#代表以a/开头的所有主题,如a/test,a/b/c/d


    #用户 user_pc
    #只能发布 test/#
    #只能订阅 a/#
    #可以订阅与发布 b/#
    user user_pc
    topic write test/#
    topic read a/#
    topic b/#

    #用户a只能发布 a/#
    user a
    topic write a/#


    #所有用户都可以发布hhh/#
    pattern write hhh/#

    5 重启服务
    sudo service mosquitto restart
    ————————————————

    原文链接:https://blog.csdn.net/weixin_43850980/article/details/122217933

  • 相关阅读:
    mybatis由浅入深day01_6SqlMapConfig.xml(6.2settings全局参数配置_6.3typeAliases(类型别名)_6.4typeHandlers(类型处理器)_6.5mappers(映射配置))
    mybatis由浅入深day01_5.3 Mapper动态代理方法
    mybatis由浅入深day01_5mybatis开发dao的方法(5.1SqlSession使用范围_5.2原始dao开发方法)
    mybatis由浅入深day01_ 4.11总结(parameterType_resultType_#{}和${}_selectOne和selectList_mybatis和hibernate本质区别和应用场景)
    mybatis由浅入深day01_4.9删除用户_4.10更新用户
    mybatis由浅入深day01_4.7根据用户名称模糊查询用户信息_4.8添加用户((非)自增主键返回)
    mybatis由浅入深day01_4入门程序_4.6根据用户id(主键)查询用户信息
    mybatis由浅入深day01_3mybatis框架介绍
    mybatis由浅入深day01_1课程安排_2对原生态jdbc程序中问题总结
    工作流JBPM_day02:3-预定义的活动1_4-预定义的活动2+在图片上高亮显示正在执行的上活动
  • 原文地址:https://www.cnblogs.com/cinemaparadiso/p/16771832.html
Copyright © 2020-2023  润新知