centos7修改服务器密码,centos7 上搭建MQTT服务器,修改密码,设置权限并进行测试。...
①.完成MQTT服務器的搭建
②.集成MQTT到springboot后臺
③.使MQTT支持WebSocket以便前端與springboot進行消息收發。
④.集成MQTT到工控機中
1.安裝
mosquitto已經被加入到EPEL倉庫中,添加EPEL源后可以直接通過yum安裝。
sudo yum -y install epel-release
sudo yum install mosquitto
2.啟停控制
控制mosquitto這個service即可。
#啟動
sudo systemctl start mosquitto
#停止
sudo systemctl stop mosquitto
#重啟
sudo systemctl restart mosquitto
#開機自啟
sudo systemctl stop mosquitto
3. 提升安全等級
默認配置文件的位置是:/etc/mosquitto/mosquitto.conf。
(1)關閉allow_anonymous
在配置文件中去掉allow_anonymous參數前的注釋符#,并將選項修改為false。
allow_anonymous false
(2)開啟mqtt的websocket服務
開啟后,前端或H5端可直接通過mqtt服務器與客戶端及時消息通訊(如微信公眾號 ——共享單車開鎖)
安裝的是eclipse 的鏡像docker版本的可直接在mosquitto.conf添加下面的命令即可使mqtt服務器支持websocket
port 1883
listener 9001
protocol websockets
(3)設置密碼
mqttroot 為用戶名,輸入此命令后會要求連續輸入兩次密碼
注:第一次添加用戶需用mosquitto_passwd -c,第二次則不用-c,否則會覆蓋第一個用戶
#mosquitto_passwd -c /etc/mosquitto/pwfile.example mqttroot
重啟mosquitto后配置生效,同時pwfile.example文件中的密碼轉為密文存儲。
(4)用戶權限控制
修改用戶權限 :vim /etc/mosquitto/aclfile.example
aclfile.example文件示例如下:
# 這會影響沒有用戶名的用戶訪問限制,讓無用戶名的客戶端可以擁有訂閱和發布權限
#topic read $SYS/#
#topic write $SYS/#
# 該topic只開放給“mqttroot”使用
#user mqttroot
#topic foo/bar
# This affects all clients.
#pattern write $SYS/broker/connection/%c/state
#遺囑主題(客戶端在connect的option屬性中添加遺囑message,這樣當客戶端異常斷開時mqtt服務器會給
#訂閱此topic的所有客戶端發送遺囑message),遺囑主題在服務端檢測客戶端在線離線的時候用到。
#注:正常diconnect時,mqtt服務器是不會向訂閱此主題的客戶端推送message的。
user mqttroot
topic status/online
# 后臺主題(工控機訂閱)
user mqttroot
topic production/device/ipc/send/#(#通配符后面加設備號可實現一對一通訊,不加可實現一對多通訊)
# 工控機主題(后臺訂閱)
user mqttroot
topic production/device/ipc/rec/#(后臺訂閱所有工控機發回來的消息)
(3)測試效果(分別開三個xshell窗口,模擬MQTT服務器,發送者,訂閱者)
給foo/bar推送消息(發送者)
訂閱foo/bar的消息(訂閱者)
②給springboot集成MQTT
未完待續。。。(已完成)
③.使MQTT支持WebSocket以便前端與springboot進行消息收發。
1.前端可mqtt的websocket直接與工控機通訊,這樣消息不經過后臺。
2.前端可使用原始的websocket與后臺通訊,后臺再通過mqtt與工控機通訊,通訊結果在返回給前端。
(已完成)
④.集成MQTT到工控機中
(已完成)
⑤工控機發布遺囑主題,后臺實時檢測工控機在線離線。效果如下:
總結
以上是生活随笔為你收集整理的centos7修改服务器密码,centos7 上搭建MQTT服务器,修改密码,设置权限并进行测试。...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gomarket服务器位置,ANZHI安
- 下一篇: 服务器备份文件ctf,GUET-CTF