Linux搭建MQTT服务器教程

我的linux版本为ubuntu 5.4.0-148-generic (buildd@lcy02-amd64-056)。如果你的不是ubuntu的话,在后续的一些命令使用上可能有稍微的区别。

一、安装软件

输入以下命令挨个安装。如果你的环境里已经有了这些工具的话,就不需要再安装。

apt-get install gcc
apt-get install c++
apt-get install cmake
apt-get install openssl
apt-get install libssl-dev

随便在某个路径(不建议在根目录)下新建一个文件夹software,我这里下载的是1.4.12的版本,如果你需要其他的版本,可以改下版本号。

mkdir software 
cd software
wget http://mosquitto.org/files/source/mosquitto-1.4.12.tar.gz
tar -xzf mosquitto-1.4.12.tar.gz

安装其他软件

apt-get install uuid-dev
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

修改mosquitto的配置。

cd mosquitto-1.4.12
vi config.mk

将里面的WITH_SRV:=yes和WITH_UUID:=yes都用#号注释掉 。:wq保存退出

编译安装mosquitto

make
sudo make install

二、启动测试

创建用户

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

如果想要看程序的端口,在启动程序时把-d去掉即可

mosquitto -c /etc/mosquitto/mosquitto.conf

或者可以用netstat工具查询端口

netstat -anp | grep mosquitto

 验证MQTT订阅与发布

订阅窗口:

mosquitto_sub -t hello

可能在执行上面的命令时会报缺少libcares.so.2的动态库(缺少XXX.so,都可以使用下面的方法解决)。

  用find命令查询libcare.so.2动态库路径在哪。

 

  创建软连接

ln -s ./c-ares-1.10.0/.libs/libcares.so.2 libcares.so.2 

添加环境变量

export LD_LIBRARY_PATH=./

再次进行订阅

mosquitto_sub -t hello

这就订阅成功过了。

按照我上面解决这个问题有一个缺点,就是每次重新打开一个窗口时,都需要重新配置环境变量才可以订阅与发布消息。第二种方法是在默认的环境变量路径下创建软连接,这样子就不需要每次都要重新配置环境变量了。

重新打开一个窗口,发布窗口:执行下面命令

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

程序截图

 到这,MQTT服务器已经配置好了,希望可以帮助到你。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值