欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux上MQTT环境搭建

程序员文章站 2024-02-11 16:32:16
...

在linux上搭建mqtt服务器并不难,主要就是用到了mosquitto这款消息代理服务软件

其采用发布/订阅模式传输机制,轻量、简单、开放并易于实现,被广泛应用于物联网之中



我的linux版本为centos6.7_x86


1、安装软件

输入以下指令,挨个安装:

yum install gcc-c++
yum install cmake
yum install openssl-devel

新建个software文件夹,下载mosquitto,下个不高不低的版本,并解压:

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

但这里还不能编译安装mosquitto

下面的三款扩展性软件,不安装也不影响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

上面的有可能没安装成功,尤其是第三个,不过并无大碍,只不过没有相应的功能


我们修改一下mosquitto的配置:

cd mosquitto-1.4.10
vim config.mk
将里面的WITH_SRV:=yes和WITH_UUID:=yes都用#号注释掉


接下来编译安装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、启动测试

创建用户:

sudo groupadd mosquitto
sudo useradd -g mosquitto mosquitto

这里要是出现什么存在不存在的问题,一定是你copy错了

程序配置:

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

启动程序:

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

默认端口为1883


最后我们再打开一个服务器窗口,在一个(订阅)窗口输入:

mosquitto_sub -t hello
另一个(发布)窗口输入:
mosquitto_pub -t hello -h localhost -m "hello world!"

程序截图:

Linux上MQTT环境搭建

Linux上MQTT环境搭建


这样,我们就成功订阅了主题为hello的消息了

此过程我在树莓派上也搭建过,需自己多添加几个sudo便可以成功操作

如果不行请从make那一步继续无误地操作一遍

相关标签: linux mqtt