在云服務器(Ubuntu)下安裝MQTT服務器以及設置連接權限

      網友投稿 1366 2025-04-03

      本文僅供學習參考,通過自己在云服務器搭建Mqtt服務器,更深入的了解MQTT協議。

      一、效果

      在云服務器上安裝EMQ服務器,實現MQTT服務器的搭建

      更改EMQ默認密碼

      更改連接權限,進行數據庫認證

      二、準備工作

      1.購買云服務器

      本地服務器也可以。但是為了設備接入以及操作的方便,還是建議在云服務器進行。

      買一個低配置的服務器就可以,比如我購買的是輕量應用服務器,CentOS ubuntu18.04、1核、內存2G、系統盤40G。

      2.開放相應的端口號、允許遠程連接。

      使用EMQ,至少需要開放的端口號:1883、18083、8083、8883、8084。可以在控制臺里面的防火墻(安全組)設置。

      同時,為了在本地通過ssh連接服務器,需要開放端口號22,同時允許遠程連接。

      3.連接自己的云服務器。

      建議直接通過Cmd進行SSH連接(windows用戶)。

      即ssh root@ip (ip為你云服務器的公網ip)

      輸入密碼時,是不會有字符顯示的哦~

      三、部署EMQ

      在云服務器(Ubuntu)下安裝MQTT服務器以及設置連接權限

      以下是通過docker安裝,詳細內容請參考EMQ官網

      1.配置docker CE

      ubuntu操作系統,其他操作系統可以自行百度配置。

      連接服務器后,只需要6個命令,通過apt-get安裝docker(阿里云鏡像),步驟如下:

      #?step?1:更新 sudo?apt-get?update #?step?2:?安裝必要的系統工具 sudo?apt-get?-y?install?apt-transport-https?ca-certificates?curl?software-properties-common #?step?3:?安裝GPG證書 curl?-fsSL?https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg?|?sudo?apt-key?add?- #?step?4:?寫入軟件源信息 sudo?add-apt-repository?"deb?[arch=amd64]?https://mirrors.aliyun.com/docker-ce/linux/ubuntu?$(lsb_release?-cs)?stable" #?step?5:?更新 sudo?apt-get?-y?update #?step?6:安裝Docker-CE sudo?apt-get?-y?install?docker-ce

      成功安裝后,輸入docker -v可查看docker版本。

      2.獲取鏡像

      執行命令:$ docker pull emqx/emqx:v4.0.0

      即讓docker下載emq鏡像,存儲在硬盤中。

      下載完成后,輸入 docker images 可以已經擁有的鏡像。

      3.啟動emq

      執行命令:$ docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:v4.0.0

      啟動emq,成功啟動后,執行 docker ps 可以看到emq容器正在運行

      EMQ自帶有一個前端頁面,可以通過 ip:18083進入。默認賬號:admin;密碼:public

      大功告成,emq已經完成部署,接入設備試一下吧~

      四、更改默認賬戶密碼

      進入服務器控制臺頁面(IP:18083),默認賬號:admin,密碼:public。

      點擊ADMIN,可以在Setting中切換語言為中文。

      在ADMIN->Users選項中,設置自己的新密碼

      五、連接數據庫

      1.數據庫新建表

      通過mysql新建一個用戶表格

      CREATE?TABLE?`mqtt_user`?( ??`id`?int(11)?unsigned?NOT?NULL?AUTO_INCREMENT, ??`username`?varchar(100)?DEFAULT?NULL, ??`password`?varchar(100)?DEFAULT?NULL, ??`salt`?varchar(35)?DEFAULT?NULL, ??`is_superuser`?tinyint(1)?DEFAULT?0, ??`created`?datetime?DEFAULT?NULL, ??PRIMARY?KEY?(`id`), ??UNIQUE?KEY?`mqtt_username`?(`username`) )?ENGINE=InnoDB?DEFAULT?CHARSET=utf8mb4;

      2.修改配置文件

      a.關閉匿名登錄。

      修改emq.conf(文件在安裝EMQ目錄的./etc中)

      mqtt.allow_anonymous?=?false?//?修改為false

      b.修改默認mysql配置

      mysql版本為mysql5,mysql8會有不同!

      進入etc/plugins/emqx_auth_mysql.conf,修改emqx_auth_mysql.conf

      ##?服務器地址 auth.mysql.server?=?127.0.0.1:3306 ##?連接池大小 auth.mysql.pool?=?8 auth.mysql.username?=?emqx auth.mysql.password?=?public auth.mysql.database?=?mqtt auth.mysql.query_timeout?=?5s

      只需修改為你的msyql信息即可。(ip:port、username、password)

      注意:如果你是通過docker安裝,進入emq目錄方式為:docker exec -ti emqx /bin/sh

      退出:ctrl + P + Q

      三、設置連接權限

      添加插件,在web控制頁面中,選擇 MANAGEMENT->Plugins,找到emqx_auth_mysql 讓他running

      此時,你再連接你的mqtt服務器時,你發現你會連接失敗!說明你已經設置成功Mysql認證,在數據庫里面添加你需要接入設備的ID、密碼即可~

      六、容器的開啟、停止

      查看:docker ps / docker images

      停止:docker stop emqx

      打開:docker start emqx

      好了,此時你就已經擁有了自己的MQTT服務器,同時其他人未經允許也不能夠輕易的訪問或使用你的MQTT服務器,快去嘗試吧~~

      設備管理 IoTDM IoT 設備接入 IoTDA

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:WPS2016版有腦圖功能嗎?腦圖是哪一版出現的(wps腦圖是什么格式)
      下一篇:如何在Excel表格中隨意移動圖表的位置(excel中圖表怎么移動)
      相關文章
      亚洲中文字幕无码爆乳AV| 亚洲综合区小说区激情区| 亚洲国产精品久久66| 亚洲中文字幕在线第六区| 亚洲精品天堂成人片?V在线播放| 风间由美在线亚洲一区| 色窝窝亚洲AV网在线观看| 亚洲AV无码成人网站在线观看 | 日本红怡院亚洲红怡院最新| 国产亚洲AV手机在线观看| 久久影视国产亚洲| 国产亚洲AV夜间福利香蕉149| 亚洲五月综合缴情在线观看| 在线观看亚洲精品福利片| 中文字幕不卡亚洲| 国产精品亚洲片在线观看不卡| 亚洲高清专区日韩精品| 亚洲成a人片77777老司机| 亚洲视频在线观看网站| 亚洲成在人线中文字幕| 亚洲AV无码成人专区| 亚洲小说图区综合在线| 亚洲成在人线在线播放无码| 自拍偷自拍亚洲精品播放| 亚洲成a人片在线观看国产| AV在线播放日韩亚洲欧| 自拍偷自拍亚洲精品情侣| 亚洲VA中文字幕无码一二三区| 亚洲成年人在线观看| 亚洲国产品综合人成综合网站| 亚洲最大成人网色香蕉| 亚洲欧洲免费无码| 亚洲AV永久无码精品一区二区国产| 亚洲国产精品日韩专区AV| 亚洲精品国产字幕久久不卡| 91亚洲国产成人久久精品网站| 亚洲xxxxxx| 久久人午夜亚洲精品无码区| 国产成人精品日本亚洲专区| 亚洲国产精品无码一线岛国| 亚洲精品成人图区|