mosquito编译与mqtt服务器搭建

1、下载mosquitto源码

官网下载地址:https://mosquitto.org/download/

选择最新的1.5.5.版本下载。

2、编译

解压源码包:

# tar axvf mosquitto-1.5.5.tar.gz
# cd mosquitto-1.5.5
# make

若出现如下提示:

 这是因为找不到openssl头文件所导致的。根据自己的需求,是否需要进行ssl加密,若不需要,注释config.mk文件中的 WITH_TLS:=YES 选项即可。

若需要进行ssl加密,则首先需要确认自己是否安装openssl库,可使用find命令进行查询。

# find /usr/ -name "openssl"

若没有安装,请参考:https://blog.csdn.net/fangye945a/article/details/86658621 进行openssl安装。

若已经安装,则需修改工程目录下config.mk文件,添加openssl的在你电脑中的库路径和头文件路径即可,如下所示:

若需要编译mosquito静态库需要将WITH_STATIC_LIBRARIES设置为yes,如下所示。

修改后保存退出,即可进行编译、安装。

# make
# sudo make install

若遇到其他依赖问题可参考:

https://blog.csdn.net/xukai871105/article/details/39252653 

3、 搭建mqtt服务器

进入mosquitto配置目录,修改配置文件:

# cd /etc/mosquitto
# cp mosquitto.conf.example mosquitto.conf   //拷贝一份配置文件示例
# sudo vim mosquitto.conf                //修改mosquitto配置文件

 设置服务器端口号:

若mqtt服务器需要设置账号和密码,则需设置 允许匿名访问 为false

指定登录验证密码文件:

 也可指定mqtt服务器主题与用户之间的关系文件(可限定某个用户只能订阅设置的特定的主题,若不愿限制不设置即可)

配置topic与用户的关系:

如下含义为:只允许fangye用户订阅主题名以hello/开头的主题。

创建密码文件:

指定配置文件后台允许mqtt服务程序。

# mosquitto -c /etc/mosquitto/mosquitto.conf &

如下提示则表示运行成功 

4、订阅、发布测试

订阅:

# mosquitto_sub -h 192.168.10.106 -p 1883 -u fangye -P 123 -t hello/world

发布:

# mosquitto_pub -h 192.168.10.106 -p 1883 -u fangye -P 123 -t hello/world -m 123

测试结果:

若订阅的主题名称不符合之前acl文件中设置的规则,订阅能够成功,但是收不到发布到对应主题的消息,如图:

若提示:

这是因为mosquitto库没有在系统环境变量路径下,需在/usr/lib下建立mosquitto库的软链接,如下所示:

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

猜你喜欢

转载自blog.csdn.net/fangye945a/article/details/86659701