emq 开源服务器在Windows 源码编译安装,及搭建Erlang.mk开发环境

emq 在Windows 源码编译安装

步骤1. 首先在Windows下搭建Erlang.mk开发环境 

官网有关Windows下使用Erlang.mk写了相当多的废话,结果在windows下却不能启动erlang,简直尴尬……

其实,基本上linux下就是yum,apt来安装相关软件包,然后就可以使用Erlang.mk了;该注意的只是windows下Erlang.mk环境的搭配,本人搭建环境的大体步骤如下:

1、在msys2官网下载并安装msys2(Erlang.mk在Windows环境下必须msys2),建议直接安装在C盘根目录,千万别在路径中出现空格,之前安装在D盘导致以下命令执行都失败

2、启动msys2控制台,使用以下两条命令更新msys2环境:

        pacman --needed --noconfirm -Sy bash pacman pacman-mirrors msys2-runtime

        pacman --noconfirm -Syu

3、使用以下命令安装git和make环境:

        pacman -S git make

4、如果需要编译C/C++代码(Windows下基本没需要吧……),必须使用如下命令安装gcc:

        pacman -S mingw-w64-x86_64-gcc

5、在Erlang官网下载Erlang安装包,并安装至指定目录,假设是D盘的opt目录(路径中的文件夹名最好不要有空字符串,不知道有空字符串是否会有问题);

6、打开msys2环境中etc目录下的profile文件(如C:\msys64\etc\profile),在该文件最后添加如下两行:

        ERL_HOME="/D/opt/erl9.2"
        PATH="${PATH}:${ERL_HOME}/bin"

PS:其中的 /D 在msys2里代表的就是D盘!!!!!!

7、重新打开msys2控制台,输入erl,发现进入了erlang环境。

 

也可以查看windows下msys2集成至eclipse,在windows下通过eclipse使用Erlang.mk。

 

步骤2. EMQ 在Windows 源码编译安装:

Erlang 安装: http://www.erlang.org/

MSYS2 安装: http://www.msys2.org/

MSYS2 安装完成后,根据 MSYS2 中的 pacman 包管理工具安装 Git、 Make 工具软件:

pacman -S git make

编译环境准备之后,clone 代码开始编译:

git clone -b windows https://github.com/emqtt/emqttd-relx.git

cd emqttd-relx && make

cd _rel/emqttd && ./bin/emqttd console

编译成功后,可执行程序包在目录:

_rel/emqttd 控制台启动编译的 EMQ 程序包:

cd _rel/emqttd && ./bin/emqttd console

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

通过注释或删除相关段落,可禁用相关 TCP 服务启动。

18083端口是 Web 管理控制占用,该端口由 emq_dashboard 插件启用。

控制台 URL: http:://localhost:18083/ ,默认登录用户名: admin, 密码: public。

快速设置 EMQ 消息服务器主要配置文件:

etc/emq.conf EMQ 消息服务器参数设置 etc/plugins/*.conf EMQ 插件配置文件 etc/emq.conf 中两个重要的虚拟机启动参数:

node.process_limit Erlang 虚拟机允许的大进程数,EMQ 一个连接会消耗2个Erlang进程 node.max_ports Erlang 虚拟机允许的大 Port 数量,EMQ 一个连接消耗1个 Port 注解

Erlang 的 Port 非 TCP 端口,可以理解为文件句柄。 node.process_limit = 参数值 > 大允许连接数 * 2

node.max_ports = 参数值 > 大允许连接数

警告

实际连接数量超过 Erlang 虚拟机参数设置,会引起 EMQ 消息服务器宕机! etc/emq.conf 配置文件的 listener 段落设置大允许连接数:

listener.tcp.external = 0.0.0.0:1883

listener.tcp.external.acceptors = 8

listener.tcp.external.max_clients = 1024 EMQ 2.0 消息服务器详细设置,请参见文档: config

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值