當前位置:首頁 » 雲伺服器 » mosquitto伺服器搭建

mosquitto伺服器搭建

發布時間: 2023-05-16 06:09:18

❶ 一台Ubuntu伺服器是部署mosquitt和另一台Ubuntu伺服器部署的EMQTT能做集群嗎

在make之前編譯mosquitto時把掘嘩頃config.mk中蘆尺的WITH_BRIDGE注釋掉,把WITH_CLUSTER:=yes取消注釋,然後make && make install安裝mosquitto即可。判陸

❷ 在雲伺服器上搭建了mqtt,為什麼手機連接不上mqtt,要怎麼做才能連接上求求大神幫忙

MQTT協議是廣泛應用的物聯網協議,使用測試MQTT協議需要MQTT的代理。有兩種方法使用MQTT服務,一是租用現成的MQTT伺服器,如阿里雲,網路雲,華為雲等公用的雲平台提供的MQTT服務,使用公用的MQTT伺服器的好處是省事,但如果僅僅用於測試學習還需要注冊帳號,靈活性差些,有的平台還需要付費。另一方法是自己使用開源的MQTT組件來搭建。
MQTT伺服器非常多,如apache的ActiveMQ,emtqqd,HiveMQ,Emitter,Mosquitto,Moquette等等。
這里介紹的是用輕量級的mosquitto開源項目來搭建一個屬於自己的MQTT伺服器。
第一步:需要安裝一台linux主機,這不多介紹,可以使用真機安裝也可以使用虛擬機安裝。如果僅僅是自己測試使用都可以。
第二步:下載mosquitto需要的依賴
sudo apt-get install libssl-devsudo apt-get install uuid-devsudo apt-get install cmake

第三步:下載mosquitto並解壓,現在mosquitto官網最新的版本是1.5.1
tar xzvf mosquitto-1.5.1.tar.gz
第四步:編譯
cd mosquitto-1.5.1/
make
make install
第五步:啟動mosquitto
./mosquitto -v
1535473957: mosquitto version 1.5.1 starting
1535473957: Using default config.
1535473957: Opening ipv4 listen socket on port 1883.
1535473957: Opening ipv6 listen socket on port 1883.
這時候mosquitto就會以默認的參數啟動。如果需要帶配置文件可以修改配置文件mosquitto.conf,
啟動時候加上參數 -c,
./mosquitto -c mosquitto.conf
可以看到,mosquitto監聽的埠為1883.
這時候我們的MQTT伺服器就搭建好了。可找一個mqtt客戶端來測試一下。
先發布一個主題「home/garden/fountain/2」
內容是「hello world」
這時候在mosquitto會列印出下面的log
535474247: New connection from 192.168.1.105 on port 1883.
1535474247: New client connected from 192.168.1.105 as MQTT_FX_Client (c1, k60).
1535474247: No will message specified.
1535474247: Sending CONNACK to MQTT_FX_Client (0, 0)
1535474307: Received PINGREQ from MQTT_FX_Client
1535474307: Sending PINGRESP to MQTT_FX_Client
1535474339: Received PUBLISH from MQTT_FX_Client (d0, q0, r0, m0, 'home/garden/fountain/2', ... (12 bytes))
1535474367: Received PINGREQ from MQTT_FX_Client
1535474367: Sending PINGRESP to MQTT_FX_Client

訂閱主題「home/garden/fountain/2」

可以看到收到了自己發布的消息。
用wireshark抓包
可以看到抓到了一個MQTT的publish的報文。

❸ 如何設置mqtt伺服器的賬號密碼

1、在這里下載Apollo伺服器,下載後解壓,然後運行apache-apollo-1.6\bin\apollo.cmd,輸入create mybroker(名字任意取,這里是根據官網介紹的來取的)創建伺服器實例,伺服器實例包含了所有的配置,運行時數據等,並且和一個伺服器進程關聯。
2、create mybroker之後會在bin目錄下生成mybroker文件夾,裡麵包含有很多信息,其中etc\apollo.xml文件下是配置伺服器信息的文件,etc\users.properties文件包含連接MQTT伺服器時用到的用戶名和密碼,後面會介紹,可以修改原始的admin=password,可以接著換行添加新的用戶名密碼。
3、打開cmd,運行…apache-apollo-1.6\bin\mybroker\bin\apollo-broker.cmd run 開啟伺服器,可以在瀏覽器中輸入http://127.0.0.1:61680/查看是否安裝成功,該界面展示了topic,連接數等很多信息。
經過上面的簡單步驟,伺服器基本上就已經完成,下一篇將介紹Android客戶端的編寫和注意事項。
客戶端使用的API,開始我使用的是mqtt-client,使用過後發現問題百出,不能很好的滿足要求,後來使用了官方推薦的Eclipse Paho

❹ 如何搭建android推送mptt伺服器

近研究了一下Android推送,在網上搜到了很多種方式,覺得IBM的MQTT協議這種方式還是挺不錯的。
下面介紹一下搭建過程:
需要准備的工具如下:
(1)、下載Mosquitto(MQTT的代理,也可以用IBM的ISMB)
http://mosquitto.org/download/
我下載的是mosquitto-1.1.2-install-win32.exe,根據自己的需要下載,不安裝這個推送不了消息。
(2)、下載AndroidPushNotificationsDemo
https://github.com/toku/Androi ... /archive/master.zip

(3)、下載phpMQTTClient
https://github.com/toku/PhpMQTTClient/archive/master.zip
將PHPMQTTClient部署到PHP伺服器上,運行,打開mosquitto安裝目錄的mosquitto.exe

❺ mqtt 伺服器 哪個好 activemq rabbitmq mosquitto

1、 下載mosquitto安裝文件()
2、 找到相應系統的安裝文件安裝,如果不想做任何設置直接在服務里啟動就行。
3、配置文件
如果需要配置一些用戶名、密碼、用戶許可權的參數,則需要修改安裝目錄下的mosquitto.conf文件
下面來說說我用到的一些參數吧:
①用戶密碼: #password_file pwfile.example 後面跟著是用戶密碼配置文件,需寫上絕對路徑並且路徑不帶空格
②創建用戶密碼:打開doc窗口,進入mosquitto安裝目錄,運行mosquitto_passwd -c pwfile.example userName 回車,然後輸入密碼(密碼輸入兩遍後,在該文件里會自動加密密碼)
生成的文件內容格式例如:
userName:$6$Ls7JYQTdn9xagJJ2$/WArx/SAtFRKlvKKnHRCUg==
userName2:$6$bymgVcrtj+7wj8mR$+zmAxnOybqJvrBZboxX1XXPnz/TKZwz9aKQJ72zJym5A=
③如果想再增加用戶,則執行mosquitto_passwd -u pwfile.example userName2即可
④用戶許可權:#acl_file aclfile.example 後面跟著是用戶許可權配置文件,需寫上絕對路徑並且路徑
文件內容格式為:
user userName

/etc/ld.so.conf.d
mosquitto.conf
/usr/local/lib/python2.6/site-packages ( mosquitto.py )
/usr/local/bin
vi /etc/sysconfig/iptables
/usr/local/src/mosquitto-1.1.3/lib/python
make install
ldconfig
不改config.mk裡面的東西
需要安裝
yum -y install patch make gcc gcc-c++ gcc-g77 flex bison

centos5.6下 yum -y install gcc automake autoconf libtool make
yum -y install openssl openssl-devel vim-minimal

這里為只讀
topic read 主題
user userName2
這里為可讀可寫
topic 主題
topic #(或+)表示可以讀寫任何主題
到這里用戶密碼及許可權已配置完成,訂閱和發布的時候加上用戶名及密碼即可驗證:
例如:訂閱
client = new MqttClient("tcp://127.0.0.1:1883","java_client0000000000");
// 回調處理類
Myback callback = new Myback();
client.setCallback(callback);
// 創建連接可選項信息
MqttConnectOptions conOptions = new MqttConnectOptions();
conOptions.setCleanSession(false);
conOptions.setUserName("userName");
conOptions.setPassword("pwd".toCharArray());
// 連接broker
client.connect(conOptions);
client.subscribe("主題");
}
發布:
MqttClient client = new MqttClient("tcp://127.0.0.1:1883","mqttserver-pub");
MqttTopic topic = client.getTopic("主題");
MqttMessage message = new MqttMessage(topic.getName().getBytes());
message.setQos(1);
MqttConnectOptions options = new MqttConnectOptions();
options.setUserName("userName");
options.setPassword("pwd".toCharArray());
client.connect(options);
topic.publish(message);
}
即可驗證!

❻ php安裝mqtt擴展【Mosquitto】

沒有安裝mosquitto的可以看一下鏈接先安裝一下

MQTT伺服器搭建-mosquitto1.4.4安裝指南

然後我們來安裝php擴展

如果你已經使用預先建立的軟體包來安裝Mosquitto,你需要確保你已經安裝了開發頭文件。在紅帽派生的系統上,這可能是叫做libmosquitto-devel,在基於 Debian的系統上叫做libmosquitto-dev。

你可以使用pecl來來安裝這個拓展包:

pecl install Mosquitto-alpha

1

或者,你也可以使用常規的安裝拓展的方法來安裝:

phpize

./configure --with-mosquitto=/path/to/libmosquitto

make

make install

1

2

3

4

然後添加extension=mosquitto.so到你的PHP配置文件php.ini中。

--with-mosquitto

1

是可選參數,只有當安裝程序找不到libmosquitto拓展包,才需要添加這個參數

❼ 如何用mosquitto搭建伺服器

Mosquitto是一款實現了消息推送協議MQTT v3.1的開源消息代理軟體,提供輕量級的,支持可發布/可訂閱的的消息推送模式,使設備對設備之間的短消息通信變得簡單,比如現在應用廣泛的低功耗感測器,手機、嵌入式計算機、微型控制器等移動設備。
Mosquitto官網:
MQTT協議:
客戶端連接日誌
1403334375: New connection from 121.201.8.163 on port 1883.

1403334375: New client connected from 121.201.8.163 as zhoujing (c0, k60, ujoyo).

1403334375: Sending CONNACK to zhoujing (0)

以上是一個客戶端正常連接的日誌。
第一行:伺服器收到一個新的連接請求
1403334375: 表示連接的時間點
121.201.8.163: 客戶端的IP地址
1883: 連接的伺服器埠號
第二行:伺服器為客戶端建立連接
zhoujing (c0, k60, ujoyo): 客戶端連接指定的ClientID為'zhoujing'
c0: 表示cleanSession=false,不清除session
k60: 表示keep-alive=60s
ujoyo: 表示使用的伺服器賬號為joyo
第三行:發送連接ACK包給客戶端
客戶端訂閱過程日誌
1403334375: Received SUBSCRIBE from zhoujing
1403334375: jiji/chat/9 (QoS 2)
1403334375: zhoujing 2 jiji/chat/9
1403334375: Sending SUBACK to zhoujing

第一行:伺服器收到一個來自ClientID為zhoujing的訂閱請求
第二行:伺服器識別zhoujing訂閱的主題為 jiji/chat/9,指定的QOS=2(有且只發送一次)
第三行:給ClientID=zhoujing客戶端發送訂閱ACK回包
伺服器發送內容給客戶端日誌
1403334378: Sending PUBLISH to zhoujing (d0, q2, r0, m1, 'jiji/chat/9', ... (396 bytes))
1403334378: Received PUBREC from zhoujing (Mid: 1)
1403334378: Sending PUBREL to zhoujing (Mid: 1)
1403334378: Received PUBCOMP from zhoujing (Mid: 1)

第一行:伺服器正在發送一個消息給ClientID=zhoujing的客戶端,消息體大小為396 bytes,消息主題為『jiji/chat/9』
(d0, q2, r0, m1)的解釋, 以下參數具體含義,參考MQTT協議
d: 表示mqtt報頭的DUP欄位
q: 表示的QOS欄位
r: 表示的是RETAIN
m: 表示的是消息ID,即mid
第二行:發布收稿階段,有保證的交付第一部分
第三行:出版發行階段,有保證的交付第二部分
第四行:發布完成,有保證的交付第三部分,至此一個內容發部過程完成
客戶端主動斷開連接的日誌
客戶端主動斷開連接的只有一行日誌,很簡單。如下所示:
1403334380: Received DISCONNECT from JY_API_PUSH_CLIENT

接收客戶端發布內容的過程日誌
1403334389: Received PUBLISH from JY_API_PUSH_CLIENT (d0, q2, r0, m1, 'jiji/chat/9', ... (396 bytes))
1403334389: Sending PUBREC to JY_API_PUSH_CLIENT (Mid: 1)
1403334389: Received PUBREL from JY_API_PUSH_CLIENT (Mid: 1)
1403334389: Sending PUBCOMP to JY_API_PUSH_CLIENT (Mid: 1)

第一行:接收來自ClientID=JY_API_PUSH_CLIENT的發布請求,發布的消息主題為'jiji/chat/9',消息大小為396 bytes
第二行:伺服器發送PUBREC給客戶端,此過程與發送消息給客戶端正好對稱,只不過是Received和Sending的對象反過來而已
第三行:伺服器接收到客戶端已經釋放的命令,內容交付第二步完成
第四行:通知客戶端,接收完成,至此一個消息發布完成,內容交付第三步完成
同一個ClientID重復連接時
1403334510: New connection from 121.201.7.150 on port 1883.
1403334510: Client JY_API_PUSH_CLIENT already connected, closing old connection.

接收客戶端心跳包
1403336716: Received PINGREQ from 36383A64663A6464003V0
1403336716: Sending PINGRESP to 36383A64663A6464003V0

客戶端連接超時,伺服器主動清除連接信息
1403336671: Client 33303A33393A3236003V0 has exceeded timeout, disconnecting.

客戶端socket異常時的日誌
1403337602: Socket error on client 351BBJKFX62C1, disconnecting.
1403337602: Socket error on client 351BBJKFX62C0, disconnecting.

❽ 如何在Ubuntu 16上搭建sock5代理伺服器,如何實現用戶名和密碼的設置以防止被別人使用

1. 引入mosquitto倉庫並更新

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa

sudo apt-get update

2. 執行以下命令安裝mosquitto包

sudo apt-get install mosquitto

3. 安裝mosquitto開發包

sudo apt-get install libmosquitto-dev

4. 安裝mosquitto客戶端

sudoapt-get install mosquitto-clients

5. 查詢mosquitto是否正確運行

sudo service mosquitto status

6. 本機測試

打開一個終端,執行以下命令訂閱主題"mqtt"

mosquitto_sub -h localhost -t "mqtt" -v

打開另外一個終端,發布消息到主題 「mqtt」

mosquitto_pub -h localhost -t "mqtt" -m "Hello MQTT"

❾ 三、NT35E標准MQTT

      用戶在使用CAT1模組MQTT協議對接自己的伺服器,有時會遇到設備無法連接伺服器問題(比如提示+ECMTCON:0,0,5連接伺服器被拒絕,認證失敗)。此時可以通過 標準的MQTT伺服器 進行對比,因為用戶自己的伺服器一般加入校驗信息,導致模組&MQTT伺服器無法連接。

       Eclipse Mosquitto是一個開源消息代理,實現了MQTT協議版本3.1和3.1.1,這里使用該伺服器進行測試。針對該伺服器更詳細的介紹也可以參考 https://www.jianshu.com/p/b6a75bfbe82f 。

       MQTT有個重要的參數QOS,因下面使用較多,這里列出便於後續查看:

AT+ECMTOPEN=<tcpconnectID>,「<host_name>」,<port>

<tcpconnectID> 整型。 MQTT Socket 標識符。范圍: 0~4

<host_name>  IP 地址或域名

<port> 整型。伺服器埠

示例:AT+ECMTOPEN=0, "test.mosquitto.org",1883   //建立 tcp

返回值:+ECMTOPEN:<tcpconnectID>,<result> 

<tcpconnectID> Integer type,MQTT socket identifier. The value is 0

<result> 1 Failed to open network,0 Opened network successfully

AT+ECMTCONN=<tcpconnectID>,「<clientID>」[,「<username>」[,「<password>」]]

<tcpconnectID> MQTT socket identifier. The value is 0

「<clientID>」 用戶不指定標准伺服器會自行創建

「<username>」,「<password>」 標准MQTT伺服器不使用

示例:AT+ECMTCONN=0   //在 mosquitto 平台上注冊設備

返回值:+ECMTCONN:<tcpconnectID>,<result>[,<ret_code>]

AT+ECMTSUB=<tcpconnectID>,<msgID>,「<topic>」,<qos>

<tcpconnectID> MQTT socket identifier. The value is 0

<msgID> 任意填寫,Message identifier of packet. The range is 1-65535

<topic> String type,Topic that the client wants to subscribe to or unsubscribe from.

<qos> Message QoS, can be 0,1 or 2

示例:AT+ECMTSUB=0,1,」test」,2 //訂閱 topic

返回值:+ECMTSUB:<tcpconnectID>,<msgID>,<result>[,<value>]

額外指令:AT+ECMTUNS=0,4, 「test」 //取消訂閱 topic

AT+ECMTPUB=<tcpconnectID>,<msgID>,<qos>,<retain>,「<topic>」,「<payload>"

<tcpconnectID> MQTT socket identifier. The value is 0

<msgID> Message identifier of packet.

<qos> Message QoS, can be 0,1 or 2

<retain> 0 Server should not retain the message   1 Server should retain the message

<topic> String type

<payload> String type

示例:AT+ECMTPUB=0,0,0,0,"test","hello" //發送數據給 mosquitto 平台

+ECMTPUB:<tcpconnectID>,<msgID>,<result>[,<value>]

額外指令:AT+ECMTDISC=0  //刪除 mqtt client 和 mqtt 連接

❿ 如何用python啟動mosquitto mqtt伺服器

配置文件路徑 /etc/mosquitto/mosquitto.conf
啟動服務進程mosquitto,除了可能用命令行參數,還要以通過配置文件,配置文件更為詳細。
可以指定ip地址和埠,還可以使用用戶名和密碼!

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372