本文主要向大家介绍了Linux运维知识之MQTT--linux安装部署(CentOS),通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。
OS环境:CentOS6.5
1、安装依赖
yum -y install gcc gcc-c++ openssl-devel c-ares-devel libuuid-devel wget cmake
2、为mosquitto增加websocket支持,安装文本socket库文件 ,解压缩
# tar zxfv libwebsockets-v1.6-stable.tar.gz
3、运行 websocket
# cd libwebsockets-v1.6-stable
# mkdir bulid
# cd bulid
# cmake ..
# make && make install
4、安装mosquitto
下载mqtt--- mosquitto-1.4.8.tar.gz, 解压缩
# tar zxfv mosquitto-1.4.8.tar.gz
5、修改config.mk文件以使后面编译的mosquitto文件支持websocket
# cd /mosquitto-1.4.8
mosquitto-1.4.8目录下的config.mk文件,把config.mk 文件中的 WITH_WEBSOCKETS:=no 改为yes
保存后,执行
# make && make install
# ln -s /usr/local/lib/libwebsockets.so.6 /usr/lib64/libwebsockets.so.6
# groupadd mosquitto
# useradd -g mosquitto mosquitto
6、创建mosquitto.conf、pwfile文件
# cd /etc/mosquitto/
如果该目录下没有mosquitto.conf 和 pwfile 执行
# cp mosquitto.conf.example mosquitto.conf
# cp pwfile.example pwfile
然后修改 文件mosquitto.conf ,
511 allow_anonoymous true
.
.
.
537 password_file /etc/mosquitto/pwfile
并在文件最后加入
port 1883
listener 8080
protocol websockets
7、启动mqtt
# mosquitto -c /etc/mosquitto/mosquitto.conf
8、测试 另外打开两个终端 终端一: ?这里其实就是订阅一个主题为”mqtt”的消息。”mqtt”为主题名,假如有客户端发布了主题为”mqtt”的消息,这个终端将会收到消息的内容。
mosquitto_sub -t mqtt
终端二: ?这里就是发布一个主题为”mqtt”,内容为”hello mqtt”的消息。
mosquitto_pub -h localhost -t mqtt -m "hello mqtt"
这时终端一会收到:hello mqtt
9、错误解决
在安装过程中,或测试过程中可能会遇到错误:
mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
解决方法:
# cat /etc/ld.so.conf
# echo "/usr/local/lib">>/etc/ld.so.conf
# ldconfig
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!