目录
1、Linux 搭建 Mosquitto
本例在centos 7系统,使用yum 一键安装:
在默认情况下,CentOS 7没有mosquitto程序包。首先我们将安装一个额外的软件软件包,即Epel。这个存储库囊括了安装在CentOS、RedHat和其他面向企业的Linux发行版上的附加软件。
1、使用yum包管理器来安装epel-release包。
sudo yum -y install epel-release
2、安装mosquitto
sudo yum -y install mosquitto
安装完成后,下面是一些操作Mosquitto服务命令
sudo systemctl start mosquitto # 启动 Mosquitto 服务
sudo systemctl stop mosquitto # 停止 Mosquitto 服务
sudo systemctl restart mosquitto # 重新启动 Mosquitto 服务
sudo systemctl status mosquitto #检查服务器状态
2、最简单的订阅与消费,测试一下是否安装成功
启动订阅端
mosquitto_sub -h localhost -t topic -u root -P 123456
启动发布者
mosquitto_pub -h localhost -t topic -u root -P 123456 -m "我是消息"
经测试表明,同一用户名和密码是可以用来接收与发送的。
3、mosquitto的配置文件默认地址在这里
启动文件在 /use/sbin/mosquitto
配置文件在 /etc/mosquitto/mosquitto.conf
注意看语句 -c ,使用我上面写的 重启服务 与 启动服务,mosquitto都会默认使用配置文件启动,因为还有一种启动方式是 mosquitto -c mosquitto.conf,这属于前台启动, ctrl + c就断了
4、关闭mosquitto的匿名访问
在 /etc/mosquitto/mosquitto.conf 中,有一个 名为 allow_anonymous的属性 ,
该属性默认值为 true,你只需讲#去除,把 true改为false即可,如下:
allow_anonymous false
5、讲解一下默认配置文件的作用
上图可见有很多个文件,我们将两个你马上就能用得到的配置文件。
1、pwfile.example :密码示例文件,这个是你下载安装完mosquitto之后,默认自带的,这是给咱们的一个密码示例,告诉我们咋填密码的。
2、aclfile.example : mosquitto的 ACL(访问控制列表)规则示例,这里就是我们配置用户与主题之间规则的地方。这个文件也是基础示例。
接下来,看看咋用
1、上图所示有一个叫password.txt的文件,这是作者自定义的一个密码文件,来看看内容
可以看见用户名与密码的格式就是 name :password 的。
你会发现密码都是被加密过的,所以想要得到上图这种密码该如何做,请继续看
2、首先你随便创建一个txt文件,名字随便
3、填入一下内容,你想设置几个用户名密码就设置几个,一直往下加就行,下图加了两个用户
保存上图的txt文件,然后关闭它。
4、使用加密指令,对密码进行加密操作。
mosquitto_passwd -U password.txt
上面的password.txt就是你自定义创建的密码文件。
来看看执行完上述指令后的password.txt的内容
这样的密码就可以使用啦!
5、要将密码配置文件使用上,那么就修改mosquitto.conf的内容
找到password_file,修改为你的用户密码配置文件,然后保存即可。
未完待续