使用EMQ搭建MQTT服務器


前言
寒假的時候開始搭建mqtt服務器,一開始使用的是RabbitMQ,基於Erlang語言.但是RabbitMQ的本職工作是AMQP,MQTT只是他的一個插件功能,似乎有些大材小用,很多MQTT的功能也沒有集成.這次我打算使用EMQ來重新部署我的MQTT服務器.EMQ也是基於 Erlang/OTP 語言平台開發.他是支持大規模連接和分布式集群,發布訂閱模式的開源 MQTT 消息服務器。支持的輸入協議不僅僅是MQTT,還包括WebSocket,以及物聯網同樣著名的與MQTT基於TCP傳輸協議不同的基於UDP傳輸協議的CoAP.數據可以輸出到基於AMQP協議的Kafka和Rabbitmq等,或者關系數據庫PostgreSQL和非關系數據庫MongoDB,當然也可以自己寫插件將數據輸出到時序數據庫,如InfluxDB.

程序安裝
詳細安裝教程在這里.我使用的是ubuntu16.04.
先下載deb安裝包wget http://emqtt.com/downloads/latest/ubuntu16_04-deb
然后使用命令sudo dpkg -i ubuntu16_04-deb進行安裝.
然后需要執行sudo apt-get install lksctp-tools來安裝所需依賴
安裝完成后執行sudo service emqttd start即可啟動服務器

配置與管理
軟件默認開啟Web管理插件,端口為18083,可以打開Web管理界面,默認登陸用戶為admin,密碼為public,
可以在Web管理頁面方便的配置自己需要的插件,如用戶認證..


TCP 服務端口占用
EMQ 2.0 消息服務器默認占用的 TCP 端口包括:

1883 MQTT 協議端口
8883 MQTT/SSL 端口
8083 MQTT/WebSocket 端口
8080 HTTP API 端口
18083 Dashboard 管理控制台端口
EMQ 2.0 占用的上述端口,可通過 etc/emq.conf 配置文件的 ‘listener’ 段落設置:

## TCP Listener: 1883, 127.0.0.1:1883, ::1:1883
listener.tcp.external = 0.0.0.0:1883

## SSL Listener: 8883, 127.0.0.1:8883, ::1:8883
listener.ssl.external = 8883

## External MQTT/WebSocket Listener
listener.ws.external = 8083

## HTTP Management API Listener
listener.api.mgmt = 127.0.0.1:8080


免責聲明!

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



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