服务器的版本是 CentOS6.5。
1、安装依赖
yum -y install gcc gcc-c++ openssl-devel c-ares-devel libuuid-devel wget cmake
1
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
6、创建 mosquitto.conf、pwfile 文档# cd /etc/mosquitto/
如果该目录下没有 mosquitto.conf 和 pwfile
执行# cp mosquitto.conf.example mosquitto.conf
# cp pwfile.example pwfile
然后修改 文档 mosquitto.conf ,
allow_anonoymous true
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、错误解决
在安装过程中,或测试过程中可能会遇到错误:
解决方法:
# cat /etc/ld.so.conf
# echo "/usr/local/lib">>/etc/ld.so.conf
# ldconfig