在 linux 上搭建 mqtt 服务器并不难,主要就是用到了 mosquitto 这款消息代理服务软件。其采用发布 / 订阅模式传输机制,轻量、简 单、开放并易于实现,被广泛应用于物联网之中。 Linux 版本: centos7.0_x64 Mosquittob 版本: 1.4.5 1 、安装软件 1 )输入以下指令,挨个安装: #yum install gcc-c++ #yum install cmake #yum install openssl-devel 2 )新建个 software 文件夹,下载 mosquitto ,下个不高不低的版 本,并解压: #mkdir software #cd software #wget http://mosquitto.org/files/source/mosquitto-1.4.5.tar.gz #tar -xzvf mosquitto-1.4.10.tar.gz 注意:这里还不能编译安装 mosquitto 3 )下面的三款扩展性软件,不安装也不影响 mosquitto 的使用:  安装 c-areas (支持异步 DNS 查找的库): #wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz #tar xvf c-ares-1.10.0.tar.gz #cd c-ares-1.10.0 #./configure #make #sudo make install  安装 lib-uuid (支持为每个连接客户端生成唯一 uuid ): #yum install libuuid-devel  安装 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 注意:上面的有可能没安装成功,尤其是第三个,不过并无大碍, 只不过没有相应的功能。 4 )修改一下 mosquitto 的配置: #cd mosquitto-1.4.10 #vim config.mk 将里面的 WITH_SRV:=yes 和 WITH_UUID:=yes 都用 # 号注释掉 5) 接下来编译安装 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 2 、启动测试 1 )创建用户: #sudo groupadd mosquitto #sudo useradd -g mosquitto mosquitto 注意:这里要是出现什么存在不存在的问题,一定是你 copy 错了。 2 )程序配置: #mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf 3)启动程序: #mosquitto -c /etc/mosquitto/mosquitto.conf –d 默认端口为 1883 4)最后我们再打开一个服务器窗口,在一个(订阅)窗口输入: $mosquitto_sub -t hello 5) 另一个(发布)窗口输入: $ mosquitto_pub -t hello -h localhost -m 'hello world' 最终效果: 这样,我们就成功订阅了主题为 hello 的消息了。