emqx/emqx-plugin-template at emqx-v4 (github.com) This is a template plugin for the EMQ X broker.
Each plugin should have a 'etc/{plugin_name}.conf|config' file to store application config.
emqx:hook('client.authenticate', fun ?MODULE:on_client_authenticate/3, [Env]).
emqx:hook('client.check_acl', fun ?MODULE:on_client_check_acl/5, [Env]).
yum -y install gcc gcc-c++ cpp glibc glibc-devel glibc-headers kernel-devel kernel-headers make m4 ncurses ncurses-devel openssl openssl-devel openssl-libs zlib zlib-devel libselinux-devel xmlto perl git wget zip unzip gtk2-devel binutils-devel unixODBC unixODBC-devel
注意:openssl的版本低于1.1.1k,则需要通过源码openssl-1.1.1k.tar.gz来安装openssl
注意:如果测试CoAP功能,需要安装libcoap,具体地址 https://libcoap.net/install.html
## 请根据编译服务器的CPU架构和操作系统,选择对应的Erlang/OTP的rpm安装包进行安装。
(a). 如果服务器是X86_64架构,并且操作系统是CentOS 7.x系统,使用esl-erlang_23.3.4.5-1~centos~7_amd64.rpm安装,如下;
wget http://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_23.3.4.5-1~centos~7_amd64.rpm
yum install esl-erlang_23.3.4.5-1~centos~7_amd64.rpm
(b). 如果服务器是arm架构,并且操作系统是CentOS 7.x系统,使用esl-erlang_23.3.4.5-1~centos~7_arm64.rpm安装,如下:
wget http://packages.erlang-solutions.com/erlang/rpm/centos/7/aarch64/esl-erlang_23.3.4.5-1~centos~7_arm64.rpm
yum install esl-erlang_23.3.4.5-1~centos~7_arm64.rpm
注意:如果不支持以上方式的安装,也可以通过Erlang源码方式安装,Erlang的源码下载地址:https://www.erlang.org/patches/otp-23.3.4.10
注意:检查一下rebar3是否安装 rebar3 -v ,如果没有安装,需要安装。
官方源码仓库地址,执行此命令
git clone -b v4.3.12 https://github.com/emqx/emqx.git emqx-v4.3
建议直接下载完整EMQX源码包(基于官方emqx v4.3开源源码+kafka插件),下载地址(https://github.com/jameycai/emqx/tree/v4.3.12-with-kafka ) 。
修改EMQX主目录下Makefile文件,添加如下行
export EMQX_EXTRA_PLUGINS = emqx_plugin_kafka
修改EMQX目录下lib-extra/plugins文件,在erlang_plugins中添加如下行打入emqx_plugin_kafka插件
, {emqx_plugin_kafka, {git, "https://github.com/jameycai/emqx_plugin_kafka.git", {branch, "main"}}} #这里仓库为自己仓库地址 方便之后代码修改提交
注:以上配置,在完整EMQX源码包(基于官方emqx v4.3开源源码+kafka插件)中,已经包括相关配置,不需要配置。
进入emqx-v4.3源码目录,执行make命令,此过程会因为网络问题,多次出现错误导致停止,只需要不断地make直到成功,有条件建议科学上网。
二进制编译命令: make
Docker镜像打包: make emqx-docker
编译成功后,会出现_build目录,然后进入_build/emqx/rel/emqx/bin目录,启动emqx,如下:
./emqx start
注意: CoAP协议和Lwm2m协议的端口如果存在冲突,需要分别设置两者的端口。
6. 启动EMQX成功,通过浏览器访问地址( http://ip:18083 ),访问控制台:
Apache License Version 2.0
EMQ X Team.