在Linux上搭建MQTT


linux系统为Ubuntu16.04 server

1、安装软件

输入以下指令,逐个安装

apt-get install gcc
apt-get install cmake
apt-get install openssl
apt-get install openssl-dev

新建software文件夹,下载mosquitto,下载并解压:

mkdir software
cd software
wget http://mosquitto.org/files/source/mosquitto-1.6.8.tar.gz
tar -xzvf mosquitto-1.6.8.tar.gz

2、可选择下列软件安装

安装c-areas(支持异步DNS查找的库)

wget http://c-ares.haxx.se/download/c-ares-1.14.0.tar.gz
tar xvf c-ares-1.14.0.tar.gz
cd c-ares-1.14.0
./configure
make
sudo make install

安装lib-uuid(支持为每个连接用户端生成唯一uuid)

apt-get install libuuid-dev

(此步骤没经过测试)

安装libwebsockets(支持需使用websocket的应用):

wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz
tar zxvf v1.3-chrome37-firefox30.tar.gz
cd libwebsockets-1.3-chrome37-firefox30
mkdir build
cd build
cmake .. -DLIB_SUFFIX=64
make install

(此步骤没经过测试)

上面安装不成功不影响下列的操作

编译安装mosquitto

make
sudo make install

注意:如果在后续使用过程中找不到libmosquitto.so.1的话,在software下输入以下指令修改一下libmosquitto.so的位置:

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
sudo ldconfig

3、启动测试

创建用户

sudo groupadd mosquitto
sudo useradd -g mosquitto mosquitto

程序配置

mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf

启动程序

mosquitto -c /etc/mosquitto/mosquitto.conf -d

默认端口为1883


最后再另外打开一个terminal,在一个窗口(订阅)输入:

mosquitto_sub -t hello

另一个窗口(发布)输入:

mosquitto_pub -t hello -h localhost -m "hello world!"