玩客雲搭建MQTT服務器


玩客雲搭建MQTT服務器

下載安裝

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list
sudo wget http://repo.mosquitto.org/debian/mosquitto-buster.list
apt-get update
apt-cache search mosquitto
apt-get install -y mosquitto mosquitto-clients

常用命令

sudo service mosquitto status                               #查看運行狀態
sudo service mosquitto start                                #啟動服務
sudo service mosquitto stop                                 #停止服務

修改配置文件

MQTT服務器安裝了之后,默認監聽localhost的1883端口,外網不能夠進行訪問。如果有需要可以修改配置文件。用戶的局部配置文件放在: /etc/mosquitto/conf.d/目錄下,並且這個目錄下的所有以.conf后綴的文件都將被mosquitto作為配置文件,在啟動時加載。

首先,我們將創建一個Mosquitto將用於驗證連接的密碼文件。使用mosquitto_passwd來創建這個文件,請確保使用你喜歡的用戶名替換它:

sudo mosquitto_passwd -c /etc/mosquitto/passwd your-username    #系統將提示您輸入兩次密碼。

/etc/mosquitto/conf.d目錄下,新建myconfig.conf配置文件:

allow_anonymous false   #不允許匿名訪問
password_file /etc/mosquitto/passwd    #密碼文件位置
listener 1883 0.0.0.0   #監聽的端口和IP地址

重啟Mosquitto以獲取配置更改:

sudo systemctl restart mosquitto

檢查以確保服務再次運行:

sudo systemctl status mosquitto
● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
   Loaded: loaded (/etc/init.d/mosquitto; generated)
   Active: active (running) since Mon 2018-07-16 15:03:42 UTC; 2min 39s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 6683 ExecStop=/etc/init.d/mosquitto stop (code=exited, status=0/SUCCESS)
  Process: 6699 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 1152)
   CGroup: /system.slice/mosquitto.service
           └─6705 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

狀態應該是active (running)。如果不是,請檢查配置文件並重新啟動。Mosquitto的日志文件中可能會提供更多信息:

sudo tail /var/log/mosquitto/mosquitto.log

測試MQTT

測試Mosquitto

我們在步驟1中安裝了一些命令行MQTT客戶端。我們可以在localhost監聽器上訂閱主題測試,如下所示:

mosquitto_sub -h localhost -t test -u "your-user" -P "your-password"

我們可以用mosquitto_pub發布:

mosquitto_pub -h localhost -t test -m "hello world" -u "your-user" -P "your-password"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM