
一、安裝預(yù)置條件
EMQ X 可以跨平臺(tái)運(yùn)行在 linux、FreeBSD、macOS 或 windows 服務(wù)器甚至是樹莓派上。
服務(wù)器最低配置為 512MB 內(nèi)存且至少保留 1 GB 以上硬盤空間。
二、二進(jìn)制包安裝
EMQ 官網(wǎng) 提供熱門 Linux 發(fā)行版、MacOS、Windows 操作系統(tǒng)以及 Docker 鏡像的二進(jìn)制包下載,當(dāng)前支持的操作系統(tǒng)及平臺(tái)請(qǐng)到官網(wǎng)下載頁(yè)查閱。
三、源碼編譯安裝
部分官網(wǎng)未提供二進(jìn)制包的操作系統(tǒng)與平臺(tái)如 Linux ARM、FreeBSB,可使用源碼編譯安裝。
EMQ X 基于 Erlang/OTP 平臺(tái)開發(fā),項(xiàng)目托管的 GitHub 管理維護(hù),源碼編譯依賴 Erlang 環(huán)境和 git 客戶端。
EMQ X 3.0+ 依賴 Erlang R21+ 版本。
EMQ X Enterprise 暫未提供源碼編譯安裝,如有特殊運(yùn)行環(huán)境需求請(qǐng)聯(lián)系 [email protected]
四、首次安裝 EMQ X
在安裝 EMQ X 前,請(qǐng)確認(rèn)安裝的 前置條件 都已經(jīng)滿足。
版本選擇
EMQ X 支持多種操作系統(tǒng),請(qǐng)選擇合適您的版本下載。
1、在 Linux 下安裝
對(duì)于 Linux 發(fā)布,EMQ X 提供兩種方式的安裝。一是基于各 linux 發(fā)布的安裝包。用安裝包安裝 EMQ X 以后,可以方便的使用系統(tǒng)管理工具來(lái)啟停 EMQ X 服務(wù)。二是使用 zip 壓縮打包的通用包。安裝 zip 包只需解壓 zip 文件即可。使用 zip 包可以實(shí)現(xiàn)在同一個(gè)系統(tǒng)下安裝多套 EMQ X。在開發(fā) / 實(shí)驗(yàn)室環(huán)境下使用 zip 包安裝 EMQ X 非常實(shí)用。
centos/RHEL
目前 EMQ X 支持 CentOS/RHEL 6 和 7,在這兩個(gè)版本上的安裝過(guò)程一致。以下安裝過(guò)程以 CentOS 7 為例。
使用 zip 包安裝
解壓 zip 文件
unzip emqx-centos7-v3.0.zip
啟動(dòng)以控制臺(tái)調(diào)試模式 emqx,檢查 EMQ X 是否可以正常啟動(dòng):
cd emqx && ./bin/emqx console
如果安裝成功,可以在控制臺(tái)看到以下輸出:
starting emqx on node '[email protected]'emqx ctl is starting...emqx hook is starting...emqx router is starting...emqx pubsub is starting...emqx stats is starting...emqx metrics is starting...emqx pooler is starting...emqx trace is starting...emqx client manager is starting...emqx session manager is starting...emqx session supervisor is starting...emqx wsclient supervisor is starting...emqx broker is starting...emqx alarm is starting...emqx mod supervisor is starting...emqx bridge supervisor is starting...emqx access control is starting...emqx system monitor is starting...dashboard:http listen on 0.0.0.0:18083 with 2 acceptors.mqtt:tcp listen on 0.0.0.0:1883 with 8 acceptors.mqtt:ssl listen on 0.0.0.0:8883 with 4 acceptors.mqtt:ws listen on 0.0.0.0:8083 with 4 acceptors.Erlang MQTT Broker 3.0 is running now
CTRL+C 關(guān)閉控制臺(tái)。守護(hù)進(jìn)程模式啟動(dòng):
./bin/emqx start
使用 rpm 包安裝
在 CentOS 下使用 rpm 工具安裝 EMQ X:
rpm -ivh emqx-centos7-v3.0-beta.4.rpm
在安裝完成之后,EMQ X 的配置文件、日志文件和數(shù)據(jù)文件分別在以下目錄:系統(tǒng)配置文件:/etc/emqx/emqx.conf插件配置文件: /etc/emqx/plugins/*.conf日志文件: /var/log/emqx數(shù)據(jù)文件: /var/lib/emqx/
在命令行啟停 EMQ X:
systemctl start|stop|restart emqx.service
Ubuntu
目前 EMQ X 支持 Ubuntu 12.04、14.04、16.04 和 18.04,在這些版本上的安裝過(guò)程一致。以下安裝過(guò)程以 Ubuntu 18.04 為例。
使用 zip 包安裝
解壓 zip 文件
unzip emqx-ubuntu18.04-v3.0.zip
啟動(dòng)以控制臺(tái)調(diào)試模式 emqx,檢查 EMQ X 是否可以正常啟動(dòng):
cd emqx && ./bin/emqx console
如果安裝成功,可以在控制臺(tái)看到以下輸出:
starting emqx on node '[email protected]'emqx ctl is starting...emqx hook is starting...emqx router is starting...emqx pubsub is starting...emqx stats is starting...emqx metrics is starting...emqx pooler is starting...emqx trace is starting...emqx client manager is starting...emqx session manager is starting...emqx session supervisor is starting...emqx wsclient supervisor is starting...emqx broker is starting...emqx alarm is starting...emqx mod supervisor is starting...emqx bridge supervisor is starting...emqx access control is starting...emqx system monitor is starting...dashboard:http listen on 0.0.0.0:18083 with 2 acceptors.mqtt:tcp listen on 0.0.0.0:1883 with 8 acceptors.mqtt:ssl listen on 0.0.0.0:8883 with 4 acceptors.mqtt:ws listen on 0.0.0.0:8083 with 4 acceptors.Erlang MQTT Broker 3.0 is running now
CTRL+C 關(guān)閉控制臺(tái)。守護(hù)進(jìn)程模式啟動(dòng):
./bin/emqx start
使用 deb 包安裝
sudo dpkg -i emqx-ubuntu18.04-v3.0_amd64.deb
在安裝完成之后,EMQ X 的配置文件、日志文件和數(shù)據(jù)文件分別在以下目錄:系統(tǒng)配置文件:/etc/emqx/emqx.conf插件配置文件: /etc/emqx/plugins/*.conf日志文件: /var/log/emqx數(shù)據(jù)文件: /var/lib/emqx/
在命令行啟停 EMQ X:
service emqx start|stop|restart
Debian
目前 EMQ X 支持 Debian 7、8 和 9,在這些版本上的安裝過(guò)程一致。以下安裝過(guò)程以 Debian 9 為例。
使用 zip 包安裝
解壓 zip 文件
unzip emqx-debian9-v3.0.zip
啟動(dòng)以控制臺(tái)調(diào)試模式 emqx,檢查 EMQ X 是否可以正常啟動(dòng):
cd emqx && ./bin/emqx console
如果安裝成功,可以在控制臺(tái)看到以下輸出:
starting emqx on node '[email protected]'emqx ctl is starting...emqx hook is starting...emqx router is starting...emqx pubsub is starting...emqx stats is starting...emqx metrics is starting...emqx pooler is starting...emqx trace is starting...emqx client manager is starting...emqx session manager is starting...emqx session supervisor is starting...emqx wsclient supervisor is starting...emqx broker is starting...emqx alarm is starting...emqx mod supervisor is starting...emqx bridge supervisor is starting...emqx access control is starting...emqx system monitor is starting...dashboard:http listen on 0.0.0.0:18083 with 2 acceptors.mqtt:tcp listen on 0.0.0.0:1883 with 8 acceptors.mqtt:ssl listen on 0.0.0.0:8883 with 4 acceptors.mqtt:ws listen on 0.0.0.0:8083 with 4 acceptors.Erlang MQTT Broker 3.0 is running now
CTRL+C 關(guān)閉控制臺(tái)。守護(hù)進(jìn)程模式啟動(dòng):
./bin/emqx start
使用 deb 包安裝
sudo dpkg -i emqx-debian9-v3.0_amd64.deb
在安裝完成之后,EMQ X 的配置文件、日志文件和數(shù)據(jù)文件分別在以下目錄:系統(tǒng)配置文件:/etc/emqx/emqx.conf插件配置文件: /etc/emqx/plugins/*.conf日志文件: /var/log/emqx數(shù)據(jù)文件: /var/lib/emqx/
在命令行啟停 EMQ X:
service emqx start|stop|restart
2、在 MacOS 下安裝
目前 EMQ X 在 MacOS 下提供 zip 包安裝:解壓 zip 文件
unzip emqx-macos-v3.0.zip
啟動(dòng)以控制臺(tái)調(diào)試模式 emqx,檢查 EMQ X 是否可以正常啟動(dòng):
cd emqx && ./bin/emqx console
如果安裝成功,可以在控制臺(tái)看到以下輸出:
starting emqx on node '[email protected]'emqx ctl is starting...emqx hook is starting...emqx router is starting...emqx pubsub is starting...emqx stats is starting...emqx metrics is starting...emqx pooler is starting...emqx trace is starting...emqx client manager is starting...emqx session manager is starting...emqx session supervisor is starting...emqx wsclient supervisor is starting...emqx broker is starting...emqx alarm is starting...emqx mod supervisor is starting...emqx bridge supervisor is starting...emqx access control is starting...emqx system monitor is starting...dashboard:http listen on 0.0.0.0:18083 with 2 acceptors.mqtt:tcp listen on 0.0.0.0:1883 with 8 acceptors.mqtt:ssl listen on 0.0.0.0:8883 with 4 acceptors.mqtt:ws listen on 0.0.0.0:8083 with 4 acceptors.Erlang MQTT Broker 3.0 is running now
CTRL+C 關(guān)閉控制臺(tái)。守護(hù)進(jìn)程模式啟動(dòng):
./bin/emqx start
3、在 Microsoft Windows 下安裝
目前 EMQ X 在 Windows 下提供 zip 包安裝。程序包下載解壓后,打開 Windows 命令行窗口,cd 到程序目錄。
控制臺(tái)模式啟動(dòng):
binemqx console
4、在 Docker 中安裝
解壓 emqx docker 鏡像包:
unzip emqx-docker-v3.0.zip
加載鏡像:
docker load < emqx-docker-v3.0
啟動(dòng)容器:
docker run -tid --name emq30 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx-docker-v3.0
停止容器:
docker stop emq30
開啟容器:
docker start emq30
進(jìn)入 Docker 控制臺(tái):
docker exec -it emq30 /bin/sh
5、使用源代碼安裝
EMQ X 消息服務(wù)器基于 Erlang/OTP 平臺(tái)開發(fā),項(xiàng)目托管的 GitHub 管理維護(hù),源碼編譯依賴 Erlang 環(huán)境和 git 客戶端。
本文以下說(shuō)明適合 Linux 環(huán)境。
- 注意:EMQ X 3.0 依賴 Erlang R21 + 版本 *
- 如何安裝 Erlang 請(qǐng)參考Erlang 官方網(wǎng)站*
- 如何安裝和使用 git 客戶端請(qǐng)參考git-scm*在準(zhǔn)備好編譯環(huán)境之后,clone 代碼邊并使編譯:
git clone -b win30 https://github.com/emqx/emqx-rel.gitcd emqx-relx && makecd _rel/emqx && ./bin/emqx console
在編譯成功后,程序包發(fā)布目錄:
_rel/emqx
從控制臺(tái)啟動(dòng)程序:
復(fù)制代碼cd _rel/emqx && ./bin/emqx console
五、首次運(yùn)行 EMQ X
在安裝以后您可以直接運(yùn)行 EMQ X 來(lái)獲得最初步的經(jīng)驗(yàn)。除了在控制臺(tái),您也可以通過(guò)瀏覽器訪問(wèn) http://127.0.0.1:18083 來(lái)使用 EMQ X 的 Web 管理控制界面。默認(rèn)的登錄名是 admin 和密碼是 public。
通過(guò)瀏覽器訪問(wèn) http://127.0.0.1:18083,您將看到一個(gè) EMQ X 登錄界面:

在輸入用戶名和密碼后,您就可以使用 EMQ X Dashboard 的各項(xiàng)功能。在首次登錄后,您看到的將是 EMQ X 控制臺(tái)的信息匯總。這個(gè)頁(yè)面顯示了系統(tǒng)信息,節(jié)點(diǎn)信息,運(yùn)行統(tǒng)計(jì)和一些統(tǒng)計(jì)指標(biāo)。

您也可以對(duì) EMQ X 做些簡(jiǎn)單的配置,讓它適配您的運(yùn)行環(huán)境和需求。
對(duì) EMQ X 進(jìn)行簡(jiǎn)單的配置
所有對(duì) EMQ X 的配置都可以通過(guò)修改配置文件完成。配置文件的位置:
- etc/emqx.conf : EMQ X 服務(wù)器的參數(shù)設(shè)置
- etc/plugins/*.conf : EMQ X 插件配置文件,每個(gè)插件都有單獨(dú)的配置文件。一些常用功能的配置也在 Web Dashboard 上進(jìn)行修改。
更改 Dashboard 界面語(yǔ)言
在 Web 界面上選擇 ADMIN -> Settings 菜單,您可以改變 Dashboard 使用的語(yǔ)言,點(diǎn)擊 Apply 后生效。目前 EMQ X 支持中文和英文。

修改 Dashboard 默認(rèn)登錄名和密碼
Dashboard 插件以 Web 界面的方式提供對(duì) EMQ X 的管理和控制功能,是 EMQ X 的默認(rèn)隨系統(tǒng)啟動(dòng)的插件之一。在安裝以后,您可以通過(guò)編輯配置文件的方式來(lái)改變 Dashboard 默認(rèn)的用戶名和密碼。配置文件:
etc/plugins/emqx_dashboard.conf
修改以下兩行內(nèi)容,將等號(hào)右側(cè)值改為需要的值:
dashboard.default_user.login = admindashboard.default_user.password = public
或者以 Web 方式管理 Dashboard 用戶。在 ADMIN -> Users 菜單下,您可以修改用戶密碼和增加 / 刪除用戶。admin 用戶只能修改密碼,不能被刪除。

配置端口
在安裝以后,EMQ X 默認(rèn)會(huì)使用以下端口:
- 1883: MQTT 協(xié)議端口
- 8883: MQTT/SSL 端口
- 8083: MQTT/WebSocket 端口
- 8080: HTTP API 端口
- 18083: Dashboard 管理控制臺(tái)端口按照安裝環(huán)境需要,可以修改以上端口。
修改協(xié)議端口請(qǐng)編輯 EMQ X 系統(tǒng)配置文件'etc/emqx.conf',找到以下各行,并按需要修改端口號(hào):
listener.tcp.external = 0.0.0.0:1883listener.ssl.external = 8883listener.ws.external = 8083
修改 HTTP API 端口請(qǐng)編輯 emqx_management 插件的配置文件'etc/plugins/emqx_management.conf',找到下述行,并按需修改端口號(hào):
management.listener.http = 8080
修改 Dashboard 管理控制臺(tái)端口請(qǐng)編輯 emqx_dashboard 插件的配置文件'etc/plugins/emqx_dashboard.conf', 找到下述行,并按需修改端口號(hào):
dashboard.listener.http = 18083
在 Web Dashboard 的 MANAGEMENT -> Listeners 菜單下,可以查看現(xiàn)在正在使用的監(jiān)聽器端口和屬性。

啟動(dòng) / 停止插件
插件是 EMQ X 的重要部分,EMQ X 的擴(kuò)展功能基本都是通過(guò)插件實(shí)現(xiàn)的。包括 Dashbard 也是插件實(shí)現(xiàn)。您可以通過(guò)隨軟件附帶的命令行工具 emqx_ctl 來(lái)啟動(dòng)和停止各個(gè)插件。
啟動(dòng)插件:
bin/emqx_ctl plugins load plugin_name
停止插件:
bin/emqx_ctl plugins unload plugin_name
您也可以在 Dashboard 的 MANAGEMENT -> plugins 菜單下啟動(dòng)和停止插件,或?qū)Σ寮M(jìn)行簡(jiǎn)單的配置。

EMQ X 的 Dashboard 本身也是一個(gè)插件,如果您在 Web 界面下停止了 Dashboard 插件,您將無(wú)法再使用 dashboard,直至您使用命令行工具再次啟動(dòng) Dashboard。
修改 Erlang 虛擬機(jī)啟動(dòng)參數(shù)
EMQ X 運(yùn)行在 Erlang 虛擬機(jī)上,在'etc/emqx.conf'中有兩個(gè)限定了虛擬機(jī)允許的最大連接數(shù)。在運(yùn)行 EMQ X 前可以修改這兩個(gè)參數(shù)以適配連接需求:
- node.process_limit : Erlang 虛擬機(jī)允許的最大進(jìn)程數(shù),EMQ X 一個(gè)連接會(huì)消耗 2 個(gè) Erlang 進(jìn)程;
- node.max_ports : Erlang 虛擬機(jī)允許的最大 Port 數(shù)量,EMQ X 一個(gè)連接消耗 1 個(gè) Port
- 在 Erlang 虛擬機(jī)中的 Port 概念并不是 TCP 端口,可以近似的理解為文件句柄。*
這兩個(gè)參數(shù)可以設(shè)置為:
- node.process_limit: 大于最大允許連接數(shù) * 2
- node.max_ports: 大于最大允許連接數(shù)
