mosquitto 支持 websocket 搭建记录
让 mosquitto 服务器支持 websocket,详细搭建步骤如下:
环境:
系统:CentOS 6.5
mosquitto 版本:1.4.8
1、安装依赖包
yum -y install gcc gcc-c++ openssl-devel c-ares-devel libuuid-devel wget cmake
2、安装 libwebsockets(mosquitto 支持 websocket)
命令如下:
cd /mnt/
git clone https://git.oschina.net/woniu201/libwebsockets.git
cd libwebsockets/
tar zxfv libwebsockets-v1.5-stable.tar.gz
cd libwebsockets-v1.5-stable
mkdir build
cd build/
cmake ..
make && make install
3、安装 mosquitto
wget http://mosquitto.org/files/source/mosquitto-1.4.8.tar.gz
tar zxfv mosquitto-1.4.8.tar.gz
cd mosquitto-1.4.8
vi 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
cd /etc/mosquitto/
创建 mosquitto.conf、pwfile 文件
# cp mosquitto.conf.example mosquitto.conf
# cp pwfile.example pwfile
修改 文件 mosquitto.conf
并在最后添加:
port 1883
listener 9109
protocol websockets
4、启动
mosquitto -d -c /etc/mosquitto/mosquitto.conf
报错:mosquitto: error while loading shared libraries: libwebsockets.so.5: cannot open shared object file: No such file or directory
处理方法:
[root@Docker mosquitto]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
[root@Docker mosquitto]# echo “/usr/local/lib”>>/etc/ld.so.conf
[root@Docker mosquitto]# ldconfig
5、测试
开两个窗口
mosquitto_sub -t mqtt (订阅)
mosquitto_pub -h localhost -t mqtt -m “hello world”(发送消息)
# -c 是指定一个配置文件 # -d 作为守护进程 # -p 是指定端口,默认 1883
# -v 详细日志输出
6、设置密码
a、修改/etc/mosquitto/mosquitto.conf
allow_anonymous false
b、新建用户
mosquitto_passwd -c /etc/mosquitto/pwfile test
c、测试命令
mosquitto_sub -t mqtt -u test -P t123456
mosquitto_pub -h localhost -t mqtt -m “hello world” -u test -P t123456
搭建支持 websocket 的详细过程,为写入小程序做准备。
版权声明: 本文为 InfoQ 作者【风翱】的原创文章。
原文链接:【http://xie.infoq.cn/article/9100278b2499eef36d2f4cd3c】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论