最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Windows環(huán)境下安裝配置Mosquitto服務(wù)及入門操作介紹詳解

 更新時(shí)間:2017年08月18日 10:56:56   作者:第三皇族DisSun  
這篇文章主要為大家詳細(xì)介紹了Windows環(huán)境下安裝配置Mosquitto服務(wù)及入門操作介紹詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

關(guān)于Mosquitto配置的資料網(wǎng)上還是有幾篇的,但是看來看去,基本上都是基于Linux?;赪indow的鳳毛麟角,看上去貌似配置的東西相差不大,實(shí)操過程中真的煩透了,配置就是不成功,這次把自己實(shí)踐過程中的東西記錄一下,分享出來。

一、概念梳理

1、Mosquitto是一款實(shí)現(xiàn)了消息推送協(xié)議MQTT 3.1的開源消息代理軟件,提供輕量級的、支持可訂閱/可發(fā)布的消息推送模式,是設(shè)備與設(shè)備之間的短消息通信變得簡單,廣泛應(yīng)用于低功耗傳感器、手機(jī)(app消息推送是場景之一)、嵌入式電腦、微型控制器等移動(dòng)設(shè)備。

2、那什么是MQTT,他的英文全稱Message Queuing Telemetry Transport,翻譯過來就是“消息隊(duì)列遙測傳輸”,是ISO 標(biāo)準(zhǔn)(ISO/IEC PRF 20922)下基于發(fā)布/訂閱范式的消息協(xié)議。它工作在 TCP/IP協(xié)議族上,是為硬件性能低下的遠(yuǎn)程設(shè)備以及網(wǎng)絡(luò)狀況糟糕的情況下而設(shè)計(jì)的發(fā)布/訂閱型消息協(xié)議。
目前支持MQTT的服務(wù)器中間件有EMQTT、Mosquitto、Apollo。本章講的就是Mosquitto。

3、MQTT的協(xié)議內(nèi)容有很多,其中一個(gè)一定要知道,就是“消息發(fā)布服務(wù)質(zhì)量”,只有三個(gè)值分別是:

  • QoS 0:“至多一次”,消息發(fā)布完全依賴底層 TCP/IP 網(wǎng)絡(luò)。會(huì)發(fā)生消息丟失或重復(fù)。這一級別可用于如下情況,環(huán)境傳感器數(shù)據(jù),丟失一次讀記錄無所謂,因?yàn)椴痪煤筮€會(huì)有第二次發(fā)送。
  • QoS 1:“至少一次”,確保消息到達(dá),但消息重復(fù)可能會(huì)發(fā)生。
  • QoS 2:“只有一次”,確保消息到達(dá)一次。這一級別可用于如下情況,在計(jì)費(fèi)系統(tǒng)中,消息重復(fù)或丟失會(huì)導(dǎo)致不正確的結(jié)果。

二、下載與安裝

1、Mosquitto存在很多版本,如果想體驗(yàn)比較新版本可以上github,但是比較麻煩的是需要自己去編譯成windows文件,編譯需要用到cmake軟件

官方后面提供了比較穩(wěn)定的window安裝版本,安裝完成后可以直接使用,并且自動(dòng)添加成 windows服務(wù),非常方便,下載路徑:https://mosquitto.org/download

2、安裝完成。如果需要使用,直接啟動(dòng)服務(wù)即可。

3、Mosquitto服務(wù)默認(rèn)占用 1883端口,所以可不在配置文件中顯式設(shè)置。

三、關(guān)于配置文件的一些重要說明

1、配置文件在安裝目錄下的mosquitto.conf,默認(rèn)情況下不做任何修改,就可以啟動(dòng)mosquitto。

2、配置說明中出現(xiàn)的地址例如:“/var/run/mosquitto”,“/var/log/messages”,都是相對路徑,相對于系統(tǒng)盤根目錄。這個(gè)地方很重要,他可不是相對于安裝目錄的根目錄。例如“/var/run/mosquitto”表示的是“c:\var\run\mosquitto”,我有一段時(shí)間一直沒搞定,就是這個(gè)目錄原因,很多人沒有反饋這個(gè)問題,因?yàn)槎际窃趌inux用所以沒啥問題。

3、安裝目錄的完整路徑中,不能出現(xiàn)空格,否則在命令行就無法通過。Mosquitto默認(rèn)安裝路徑是在“C:\Program Files\mosquitto”,這里面的“Program Files”就存在空格,導(dǎo)致很多問題,這個(gè)也要特別注意。所以后來我改為安裝在“C:\MosquittoTest”

四、配置登錄賬號(hào)和密碼

1、如果想方便測試可以下載安裝MQTT客戶端(http://www.eclipse.org/paho/components/tool/),我自己是用這個(gè),不過下面我們還是用原生的命令行操作:

2、在配置文件mosquitto.conf中,任意位置加入下面文本,保存退出(我說的全新安裝的情況下,如果是維護(hù)已經(jīng)使用很久的系統(tǒng),可在配置文件中找到對應(yīng)的屬性進(jìn)行更改)

#設(shè)置不允許匿名登錄
allow_anonymous false
#設(shè)置賬戶密碼文件位置為C:\MosquittoTest\pwfile.example
password_file /MosquittoTest/pwfile.example

3、重啟mosquitto服務(wù)配置文件的修改才能生效。為了方便調(diào)試和操作,我們后面的操作全部通過命令行模式進(jìn)行。

4、插入新用戶名及密碼,輸入密碼時(shí)界面是不會(huì)顯示的,直接輸入后回車就可以,需要連續(xù)輸入兩次。保證pwfile.example的路徑和上面的配置一致。下面打開CMD并進(jìn)入mosquitto根目錄輸入:
mosquitto_passwd -c /MosquittoTest/pwfile.example FirstUserName (使用-c 參數(shù)會(huì)導(dǎo)致清空密碼文件,重新插入用戶)

mosquitto_passwd /MosquittoTest/pwfile.example SecondUserName (不使用-c 表示追加用戶,不影響舊用戶)

5、創(chuàng)建成功后pwfile.example會(huì)出現(xiàn)剛剛添加的用戶信息。

6、啟動(dòng)mosquitto 進(jìn)行測試。

首先啟動(dòng)第一個(gè)cmd窗口啟動(dòng)服務(wù):mosquitto.exe -c mosquitto.conf
然后啟動(dòng)第二個(gè)cmd窗口訂閱'dissun/topic'主題(其中dissun是賬號(hào),111111是密碼):mosquitto_sub -u dissun -P 111111 -t 'dissun/topic' -v

最后啟動(dòng)第三個(gè)cmd窗口發(fā)布訂閱'腰疼不加班'信息:mosquitto_pub -u dissun -P 111111 -t 'dissun/topic' -m '腰疼不加班'

五、配置日期信息

1、配置日期前請先查看第三大點(diǎn)(關(guān)于配置文件的一些重要說明)

2、在mosquitto.conf文件中插入:

#把日志信息輸入到指定文件
log_dest file /MosquittoTest/DisSunLog_1.log

#在控制臺(tái)輸出信息,運(yùn)行win服務(wù)無效
log_dest stdout

#不記錄
#log_type none
#########下面的debug、error、warning.....等等可以組合使用。
#記錄網(wǎng)絡(luò)通信包,通信包大?。ê奶伙@示內(nèi)容
log_type debug
#錯(cuò)誤信息(沒見過)
log_type error
#警告信息(沒見過)
log_type warning
#設(shè)備的訂閱信息、發(fā)布信息及下線信息(端口、設(shè)備名、用戶、不包發(fā)布內(nèi)容)
log_type notice
#服務(wù)啟動(dòng)關(guān)閉信息、版本號(hào)、端口號(hào)、配置文件信息
log_type information
#所有設(shè)備訂閱主題提醒
log_type subscribe
#這個(gè)沒有試出來干啥用的(沒見過)
#log_type unsubscribe
#websockets鏈接信息(沒見過)
#log_type websockets
#websockets_log_level 0

3、然后重啟服務(wù),我們發(fā)一條信息來看看記錄了什么。(參照第四節(jié)第6點(diǎn)進(jìn)行發(fā)送信息操作得到下面運(yùn)行界面)

4、按Ctrl+C 停止主服務(wù),如果不停止服務(wù),日志文件會(huì)被獨(dú)占鎖住無法打開。找到這個(gè)日志

5、日志解析

##########:以下是information信息
1552112775: mosquitto version 1.5.8 starting
1552112775: Config loaded from mosquitto.conf.
1552112775: Opening ipv6 listen socket on port 1883.
1552112775: Opening ipv4 listen socket on port 1883.

##########:以下是subscribe信息(偽造)
1552113940: mosqsub|11332-DisSunPad 0 'dissun/topic'
20-DisSunPad (c1, k60, u'dissun').

##########:以下是notice信息,訂閱客戶端上線11332
1552112782: New connection from ::1 on port 1883.
1552112782: New client connected from ::1 as mosqsub|11332-DisSunPad (c1, k60, u'dissun').

##########:以下是debug信息,訂閱客戶端上線11332
1552112782: No will message specified.
1552112782: Sending CONNACK to mosqsub|11332-DisSunPad (0, 0)
1552112782: Received SUBSCRIBE from mosqsub|11332-DisSunPad
1552112782:  'dissun/topic' (QoS 0)
1552112782: mosqsub|11332-DisSunPad 0 'dissun/topic'
1552112782: Sending SUBACK to mosqsub|11332-DisSunPad

##########:以下是notice信息,發(fā)布客戶端上線12284
1552112832: New connection from ::1 on port 1883.
1552112832: New client connected from ::1 as mosqpub|12284-DisSunPad (c1, k60, u'dissun').

##########:以下是debug信息,發(fā)布客戶端上線12284,并發(fā)布12字節(jié)的信息,然后離線。
1552112832: No will message specified.
1552112832: Sending CONNACK to mosqpub|12284-DisSunPad (0, 0)
1552112832: Received PUBLISH from mosqpub|12284-DisSunPad (d0, q0, r0, m0, ''dissun/topic'', ... (12 bytes))
1552112832: Sending PUBLISH to mosqsub|11332-DisSunPad (d0, q0, r0, m0, ''dissun/topic'', ... (12 bytes))
1552112832: Received DISCONNECT from mosqpub|12284-DisSunPad

##########:以下是notice信息,發(fā)布客戶端離線12284
1552112832: Client mosqpub|12284-DisSunPad disconnected.

##########:以下是debug信息,訂閱客戶端保持跟mosquitto的聯(lián)系。PINGREQ請求心跳包,PINGRESP回應(yīng)心跳包
1552112842: Received PINGREQ from mosqsub|11332-DisSunPad
1552112842: Sending PINGRESP to mosqsub|11332-DisSunPad
1552112902: Received PINGREQ from mosqsub|11332-DisSunPad
1552112902: Sending PINGRESP to mosqsub|11332-DisSunPad
1552112962: Received PINGREQ from mosqsub|11332-DisSunPad

##########:以下是information信息 主服務(wù)中斷
1552113191: mosquitto version 1.5.8 terminating

六、如果要開啟webSockets,它是支持的。但是要顯式的加入mqtt協(xié)議及端口

#MQTT協(xié)議
port 1883
protocol mqtt

#websockets協(xié)議
listener 8000
protocol websockets

#如果需要查看websockets日志還可以加入以下面,上面有提過。
log_type websockets
websockets_log_level 0

七、用戶訪問控制acl_file,看遍了所有的文章,操作都不生效。加了訪問控制后所有的的用戶,都無法正常的收發(fā)信息,所以等下次研究透了再追加。感覺這玩意從Linux移至過來,不是完全通用。

不過還是按照說明把操作寫下來,有看出問題的童鞋可以跟我反饋下。(注:下面的內(nèi)容操作沒有通過,請讀者自行試驗(yàn))

1、在mosquitto.cong中間中加入

#加入訪問控制列表文件Acls
acl_file /MosquittoTest/aclfile.example

2、修改aclfile.example內(nèi)容,加入用戶的權(quán)限

# This affects access control for clients with no username.
topic read $SYS/#

# This only affects clients with username "roger".
#user roger
#topic foo/bar

user dissun
topic dissun/topic

# This affects all clients.
pattern write $SYS/broker/connection/%c/state

3、CMD啟動(dòng)mosquitto。

4、按道理說設(shè)置就是這么多,沒那么復(fù)雜,但是此時(shí)dissun用戶訂閱是成功的,但是dissun用戶發(fā)布失敗,服務(wù)debug日志顯示“denied”。我懷疑是acl文件加載失敗,所以換了絕對路徑,但是依然沒有效果,搞了一下午不成功放棄,以后再搞。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IIS部署Linux環(huán)境下的cer證書步驟

    IIS部署Linux環(huán)境下的cer證書步驟

    在Linux環(huán)境中,cer證書通常存放于root/.acme.sh目錄,需要將其下載到Windows服務(wù)器并轉(zhuǎn)換為IIS支持的pfx格式,使用openssl工具進(jìn)行轉(zhuǎn)換,執(zhí)行命令生成pfx文件,IIS導(dǎo)入pfx證書后,進(jìn)行站點(diǎn)綁定設(shè)置,通過端口映射實(shí)現(xiàn)公網(wǎng)訪問,下面就來介紹一下
    2024-10-10
  • IIS6.0出錯(cuò)腳本引擎異常處理方法

    IIS6.0出錯(cuò)腳本引擎異常處理方法

    這個(gè)錯(cuò)誤目前已知的原因有2方面!1.VBScript和MDAC本身錯(cuò)誤造成解析不穩(wěn)定!2.ACCESS引發(fā)的錯(cuò)誤!下面與大家分享下具體的處理方法
    2013-06-06
  • windows server 2019 性能優(yōu)化和安全配置小結(jié)

    windows server 2019 性能優(yōu)化和安全配置小結(jié)

    這篇文章主要介紹了windows server 2019 性能優(yōu)化和安全配置小結(jié),需要的朋友可以參考下
    2023-04-04
  • WINDOWS 2003 安全設(shè)置(偽裝篇)

    WINDOWS 2003 安全設(shè)置(偽裝篇)

    win2003的安全設(shè)置,偽裝系統(tǒng)等一些常見的安全設(shè)置方法。
    2009-06-06
  • asp網(wǎng)站打開提示500錯(cuò)誤的原因與解決方法

    asp網(wǎng)站打開提示500錯(cuò)誤的原因與解決方法

    最近有客戶反饋,網(wǎng)站打開500錯(cuò)誤,能否開啟瀏覽器調(diào)試功能,這是什么問題呢?應(yīng)該怎么協(xié)調(diào)運(yùn)維技術(shù)解決
    2024-03-03
  • 值得分享的IIS部署網(wǎng)站詳細(xì)步驟

    值得分享的IIS部署網(wǎng)站詳細(xì)步驟

    這篇文章主要為大家介紹了IIS部署網(wǎng)站的詳細(xì)步驟,以及在部署網(wǎng)站的過程中遇到問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • windows下注冊和取消pg服務(wù)的命令

    windows下注冊和取消pg服務(wù)的命令

    這篇文章主要介紹了windows下注冊和取消pg服務(wù)的命令的相關(guān)知識(shí),在文章下面給大家介紹了如何將exe注冊為windows服務(wù),直接從后臺(tái)運(yùn)行,本文給大家分享兩種方法,感興趣的朋友一起看看吧
    2017-10-10
  • 阿里云云服務(wù)器Windows 2008中的FTP配置圖文教程

    阿里云云服務(wù)器Windows 2008中的FTP配置圖文教程

    這篇文章主要介紹了阿里云云服務(wù)器Windows 2008中的FTP配置圖文教程,本文包含創(chuàng)建FTP賬號(hào)、添加FTP站點(diǎn)、綁定和SSL設(shè)置等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • 部署到iis后無法加載運(yùn)行CSS文件的解決方法

    部署到iis后無法加載運(yùn)行CSS文件的解決方法

    這篇文章主要介紹了部署到iis后無法加載運(yùn)行CSS文件的解決方法,需要的朋友可以參考下
    2014-04-04
  • Windows下IIS+PHP 5.2的安裝與配置

    Windows下IIS+PHP 5.2的安裝與配置

    Windows下PHP的安裝雖然簡單,但如果不注意方法,仍然會(huì)讓你頭疼。此外,PHP 5.2版本與之前4.x版本也有一些不同,所以有必要記錄一下,避免下次忘記了這樣的安裝配置方法。
    2010-03-03

最新評論

洛宁县| 无为县| 武义县| 双江| 襄汾县| 巴中市| 中宁县| 会同县| 班玛县| 亚东县| 甘孜县| 扶沟县| 临沂市| 商洛市| 遂平县| 车致| 高青县| 青川县| 乐陵市| 察哈| 长岛县| 柳州市| 溆浦县| 全州县| 扬中市| 增城市| 永康市| 海宁市| 广德县| 开鲁县| 平乐县| 阳山县| 阳新县| 呼伦贝尔市| 牙克石市| 杭锦旗| 宣城市| 大竹县| 麻江县| 定南县| 祁连县|