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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章