MQTT协议之mosquitto的安装使用

最近有一个物联网的项目,要用到MQTT传输,就自己在阿里云服务器安装了一个mosquitto,也顺利测试通过了,下面记录一下安装过程

我们的服务器是LINUX,阿里云的云服务器

首先就是安装

第一种方法,就是下载原文件进行安装

下地址:https://mosquitto.org/files/source/
下载命令:wget

安装其它一些依赖包,已安装过的就不需要再安装了

yum install gcc gcc-c++ libstdc++-devel 
yum install openssl-devel -y
yum install c-ares-devel -y
yum install uuid-devel -y
yum install libuuid-devel -y

下载完成以后,解压下载的文件

解压命令:tar -zxvf

解压完成,进入解压目录进行安装

安装命令:make&make install

等待安装完成即可

第二种方法,使用yum安装

yum install mosquitto mosquitto-clients libmosquitto-devel libmosquittopp-devel python-mosquitto
/etc/init.d/mosquitto start

我是用的第一种方法,第二种方法没测试

安装完成以后,进入/etc/mosquitto 找到配置文件mosquitto.conf.example 复制一个重命名为default.conf

cp mosquitto.conf.example default.conf

配置文件具体的参数就不写了,我只配置了监听端口,禁用了匿名访问,以及指定了用户名密码文件

#配置监听端口
listener 1883
#关闭匿名访问,客户端必须使用用户名
allow_anonymous false
#指定 用户名-密码 文件
password_file /etc/mosquitto/pwfile.conf

指定了用户密码文件以后,下面就是在文件里面创建用户名和密码

mosquitto_passwd -c /etc/mosquitto/pwfile.conf admin

回车后提示输入两次密码后创建完成

命令解释: -c 创建一个用户、/etc/mosquitto/pwfile.conf 是将用户创建到 pwfile.conf文件中、admin 是用户名

注意第二次创建用户时不用加 -c 如果加 -c 会把第一次创建的用户覆盖。

都配置好以后,就可以启动mosquitto服务了

mosquitto -c /etc/mosquitto/default.conf

直接输入mosquitto 是按默认配置启动,后面加上配置文件以后就是以配置文件启动

下面测试一下订阅和发布

首先是订阅消息

mosquitto_sub -h 127.0.0.1 -p 1883 -u mosquitto_manger -P XXX -t test

-h 服务器ID 
-p 端口
-u 用户名
-P 用户密码
-t 主题

这里有个坑,参数里面有两个p,一个小写,一个大写,一定要区分清楚

重新打开一个终端,发布一条消息

mosquitto_pub -h 127.0.0.1 -p 1883 -u mosquitto_manger -P XXX -t test -m 789789789789

-m 消息的内容

发送后,前面终端收到消息,收工完成

另外有一点,mosquitto没有重启命令,如果要重启,必须先杀死之前的进程

查看mosquitto进程

ps -aux|grep mosquitto

杀掉mosquitto进程

kill -9 11500

杀掉以后再启动就可以了

 

最后了,又来了一个问题,远程连接不上,这才意识到,忘了把端口加入防火墙了,阿里云安全组也忘了开放,把端口加入防火墙,开放阿里云安全组之后问题解决

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值