create emqx project

Zhongwen Deng bbf45e9d2a fix: install plugins timeout by deadlock %!s(int64=3) %!d(string=hai) anos
.ci f18eab402a fix(CI): don't use any authz sources when testing %!s(int64=3) %!d(string=hai) anos
.github 72cbe5c831 Merge pull request #8244 from zmstone/0616-pin-quic-0.0.12-make-user-of-build-cache %!s(int64=3) %!d(string=hai) anos
apps bbf45e9d2a fix: install plugins timeout by deadlock %!s(int64=3) %!d(string=hai) anos
bin 41808fc2a2 chore: add a comment to describe why setting ESCRIPT_NAME %!s(int64=3) %!d(string=hai) anos
deploy a2a4c813e7 Merge pull request #8246 from Rory-Z/feat/helm-support-dns-cluster %!s(int64=3) %!d(string=hai) anos
lib-ee 48f685a0dd fix: remove the APIs for emqx_hooks:put/2 and emqx_hooks:add/2 %!s(int64=3) %!d(string=hai) anos
rel 4fdd793071 refactor: move config template file to rel dir %!s(int64=3) %!d(string=hai) anos
scripts 9cd4587cfb Merge pull request #8245 from DDDHuang/fix_mac %!s(int64=3) %!d(string=hai) anos
.editorconfig 7f12db0180 add editorconfig for emqx %!s(int64=7) %!d(string=hai) anos
.formatter.exs c14e8db869 style(format): format elixir files %!s(int64=4) %!d(string=hai) anos
.gitattributes af69899619 chore: add a pre-commit hook to auto format erlang code %!s(int64=3) %!d(string=hai) anos
.gitignore be7724b4e7 chore: add emqx-example-en.conf in release %!s(int64=3) %!d(string=hai) anos
.tool-versions fc4d9e4dcd ci: use emqx-builder 5.0-16 %!s(int64=3) %!d(string=hai) anos
APL.txt 7f49934216 chore: add BSL.txt %!s(int64=4) %!d(string=hai) anos
CONTRIBUTING.md 56e2a9741f style: ensure newline at EOF for all files %!s(int64=4) %!d(string=hai) anos
Dockerfile.ubuntu20.04.runner b92708726a test: Dockerfile:s to build test images %!s(int64=3) %!d(string=hai) anos
Dockerfile.ubuntu20.04.runner.dockerignore b92708726a test: Dockerfile:s to build test images %!s(int64=3) %!d(string=hai) anos
LICENSE 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings %!s(int64=4) %!d(string=hai) anos
Makefile 50b4d95b02 build: ensure download quic pre-built package for EMQX build %!s(int64=3) %!d(string=hai) anos
NOTICE 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings %!s(int64=4) %!d(string=hai) anos
PLUGIN.md 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings %!s(int64=4) %!d(string=hai) anos
README-CN.md 6102aa9939 Merge pull request #7988 from Swilder-M/docs-link %!s(int64=3) %!d(string=hai) anos
README-JP.md e20c36f426 chore(readme): modify img and docs link %!s(int64=3) %!d(string=hai) anos
README-RU.md e20c36f426 chore(readme): modify img and docs link %!s(int64=3) %!d(string=hai) anos
README.md 6102aa9939 Merge pull request #7988 from Swilder-M/docs-link %!s(int64=3) %!d(string=hai) anos
Windows.md 6dedf4875a ci(windows): build windows package on otp 24 %!s(int64=3) %!d(string=hai) anos
build c76d5c0181 build(mix): copy generated docs to release %!s(int64=3) %!d(string=hai) anos
elvis.config 74c33cd4e5 feat(rule_engine): add jq function to the rule engine %!s(int64=3) %!d(string=hai) anos
git-blame-ignore-revs 4c8016e76d chore(ignore-file): delete error commit hash %!s(int64=3) %!d(string=hai) anos
mix.exs f1ca88741c fix: bump minirest to 1.3.5(pmap api_spec crash log) %!s(int64=3) %!d(string=hai) anos
pkg-vsn.sh fc4d9e4dcd ci: use emqx-builder 5.0-16 %!s(int64=3) %!d(string=hai) anos
rebar.config f1ca88741c fix: bump minirest to 1.3.5(pmap api_spec crash log) %!s(int64=3) %!d(string=hai) anos
rebar.config.erl fa41c9ff35 chore: pin quicer 0.0.12 %!s(int64=3) %!d(string=hai) anos

README-CN.md

EMQX

GitHub Release Build Status Coverage Status Docker Pulls Slack Discord Twitter Community YouTube

最棒的物联网 MQTT 开源团队期待您的加入

English | 简体中文 | 日本語 | русский

EMQX 是一款完全开源,高度可伸缩,高可用的分布式 MQTT 消息服务器,适用于 IoT、M2M 和移动应用程序,可处理千万级别的并发客户端。

从 3.0 版本开始,EMQX 完整支持 MQTT V5.0 协议规范,向下兼容 MQTT V3.1 和 V3.1.1,并支持 MQTT-SN、CoAP、LwM2M、WebSocket 和 STOMP 等通信协议。EMQX 3.0 单集群可支持千万级别的 MQTT 并发连接。

安装

EMQX 是跨平台的,支持 Linux、Unix、macOS 以及 Windows。这意味着 EMQX 可以部署在 x86_64 架构的服务器上,也可以部署在 Raspberry Pi 这样的 ARM 设备上。

Windows 上编译和运行 EMQX 的详情参考:Windows.md

EMQX Docker 镜像安装

docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx

二进制软件包安装

需从 EMQX 下载 页面获取相应操作系统的二进制软件包。

在 Kubernetes 上通过 EMQX Operator 部署

详情请参考使用文档

从源码构建

3.0 版本开始,构建 EMQX 需要 Erlang/OTP R21+。

4.3 及以后的版本:

git clone https://github.com/emqx/emqx.git
cd emqx
make
_build/emqx/rel/emqx/bin/emqx console

对于 4.3 之前的版本,通过另外一个仓库构建:

git clone https://github.com/emqx/emqx-rel.git
cd emqx-rel
make
_build/emqx/rel/emqx/bin/emqx console

快速入门

如果 emqx 从源码编译,cd _build/emqx/rel/emqx。 如果 emqx 通过 zip 包安装,则切换到 emqx 的根目录。

# Start emqx
./bin/emqx start

# Check Status
./bin/emqx_ctl status

# Stop emqx
./bin/emqx stop

EMQX 启动,可以使用浏览器访问 http://localhost:18083 来查看 Dashboard。

测试

执行所有测试

make eunit ct

执行部分应用的 common tests

make apps/emqx_retainer-ct

静态分析(Dialyzer)

分析所有应用程序
make dialyzer
要分析特定的应用程序,(用逗号分隔的应用程序列表)
DIALYZER_ANALYSE_APP=emqx_lwm2m,emqx_authz make dialyzer

社区

FAQ

访问 EMQX FAQ 以获取常见问题的帮助。

问答

GitHub Discussions EMQ 中文问答社区

参与设计

如果对 EMQX 有改进建议,可以向EIP 提交 PR 和 ISSUE

插件开发

如果想集成或开发你自己的插件,参考 PLUGIN.md

联系我们

你可通过以下途径与 EMQ 社区及开发者联系:

欢迎你将任何 bug、问题和功能请求提交到 emqx/emqx

MQTT 规范

你可以通过以下链接了解与查阅 MQTT 协议:

MQTT Version 3.1.1

MQTT Version 5.0

MQTT SN

开源许可

详见 LICENSE