[mqtt] 一、mosquitto
阿新 • • 發佈:2021-01-26
作者:解琛
時間:2021 年 1 月 25 日
一、mosquitto
1.1 安裝
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt update
sudo apt install mosquitto -y
sudo apt install mosquitto-clients -y
1.2 配置
sudo vim /etc/mosquitto/mosquitto.conf
配置檔案的含義如下。
pid_file /var/run/mosquitto.pid
# 訊息持久儲存
persistence true
persistence_location /var/lib/mosquitto/
# 日誌檔案
log_dest file /var/log/mosquitto/mosquitto.log
# 其他配置
include_dir /etc/mosquitto/conf.d
# 禁止匿名訪問
allow_anonymous false
# 認證配置
password_file /etc/mosquitto/pwfile
# 許可權配置
acl_file /etc/mosquitto/aclfile
1.3 啟動、重啟、停止伺服器
#-c:指定特定配置檔案啟動
#-d:後臺執行
mosquitto -c /etc/mosquitto/mosquitto.conf -d
如果 mosquitto 預設開啟自動啟動,如果已經在後臺運行了,則使用系統服務管理程式停止、啟動或重啟。
service mossquitto start
service mossquitto stop
service mossquitto restart
1.4 檢視伺服器執行狀態
(base) [email protected]:~$ service mosquitto status
● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
Loaded: loaded (/etc/init.d/mosquitto; generated)
Active: active (running) since Mon 2021-01-25 10:32:37 CST; 9min ago
Docs: man:systemd-sysv-generator(8)
Process: 21351 ExecStop=/etc/init.d/mosquitto stop (code=exited, status=0/SUCCESS)
Process: 21637 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/mosquitto.service
└─21643 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
1月 25 10:32:37 xiechen-Ubuntu systemd[1]: Starting LSB: mosquitto MQTT v3.1 message broker...
1月 25 10:32:37 xiechen-Ubuntu mosquitto[21637]: * Starting network daemon: mosquitto
1月 25 10:32:37 xiechen-Ubuntu mosquitto[21637]: ...done.
1月 25 10:32:37 xiechen-Ubuntu systemd[1]: Started LSB: mosquitto MQTT v3.1 message broker.
1.5 檢視伺服器日誌
(base) [email protected]:~$ sudo tail /var/log/mosquitto/mosquitto.log
1611540764: Client rtu4001 has exceeded timeout, disconnecting.
1611540764: Socket error on client rtu4001, disconnecting.
1611540815: New connection from 172.20.1.107 on port 1883.
1611540815: New client connected from 172.20.1.107 as rtu4001 (c1, k60, u'ims-om').
1611541929: mosquitto version 1.4.15 terminating
1611541957: mosquitto version 1.4.15 (build date Tue, 18 Jun 2019 11:42:22 -0300) starting
1611541957: Config loaded from /etc/mosquitto/mosquitto.conf.
1611541957: Opening ipv4 listen socket on port 1883.
1611541957: Opening ipv6 listen socket on port 1883.
1611541961: New connection from 172.20.1.107 on port 1883.
1.5 sub 訂閱主題
引數 | 描述 |
---|---|
-h | 伺服器主機,預設localhost; |
-t | 指定主題; |
-u | 使用者名稱; |
-P | 密碼; |
-i | 客戶端id,唯一; |
-m | 釋出的訊息內容; |
mosquitto_sub -h localhost -u user1 -P 123456 -i "client2" -t '$SYS/broker/clients/active'
1.6 pub 釋出資訊
引數 | 描述 |
---|---|
-h | 伺服器主機,預設localhost; |
-t | 指定主題; |
-u | 使用者名稱; |
-P | 密碼; |
-i | 客戶端id,唯一; |
-m | 釋出的訊息內容; |
引數含義和 sub 一樣。
mosquitto_pub -h localhost -t "test/abc" -u user1 -P 123456 -i "client3" -m "How are you?"