最近有一个物联网的项目,要用到MQTT传输,就自己在阿里云服务器安装了一个mosquitto,也顺利测试通过了,下面记录一下安装过程
我们的服务器是LINUX,阿里云的云服务器
首先就是安装
第一种方法,就是下载原文件进行安装
下地址:
下载命令: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 start
我是用的第一种方法,第二种方法没测试
安装完成以后,进入/etc/mosquitto 找到配置文件mo 复制一个重命名为de
cp mo de
配置文件具体的参数就不写了,我只配置了监听端口,禁用了匿名访问,以及指定了用户名密码文件
#配置监听端口 listener 1883 #关闭匿名访问,客户端必须使用用户名 allow_anonymous false #指定 用户名-密码 文件 password_file /etc/mosquitto
指定了用户密码文件以后,下面就是在文件里面创建用户名和密码
mosquitto_passwd -c /etc/mosquitto admin
回车后提示输入两次密码后创建完成
命令解释: -c 创建一个用户、/etc/mosquitto 是将用户创建到 文件中、admin 是用户名
注意第二次创建用户时不用加 -c 如果加 -c 会把第一次创建的用户覆盖掉。
都配置好以后,就可以启动mosquitto服务了
mosquitto -c /etc/mosquitto/de
直接输入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
杀掉以后再启动就可以了
最后了,又来了一个问题,远程连接不上,这才意识到,忘了把端口加入防火墙了,阿里云安全组也忘了开放,把端口加入防火墙,开放阿里云安全组之后问题解决