emqttd安装

emqtt安装

下载程序: wget http://emqtt.com/static/brokers/emqttd-centos6.8-v2.1.2.zip

解压文件:unzip emqttd-centos6.8-v2.1.2.zip

控制台调试模式启动,检查emqttd是否可正常启动:cd emqttd && ./bin/emqttd console,
输出如下:

Exec: /home/rbtest/jww/emqttd/erts-8.1/bin/erlexec -boot /home/rbtest/jww/emqttd/releases/2.1.2/emqttd -mode embedded -boot_var ERTS_LIB_DIR /home/rbtest/jww/emqttd/erts-8.1/../lib -mnesia dir "/home/rbtest/jww/emqttd/data/mnesia/[email protected]" -config /home/rbtest/jww/emqttd/data/configs/app.2017.08.29.14.44.54.config -args_file /home/rbtest/jww/emqttd/data/configs/vm.2017.08.29.14.44.54.args -vm_args /home/rbtest/jww/emqttd/data/configs/vm.2017.08.29.14.44.54.args -- console
Root: /home/rbtest/jww/emqttd
/home/rbtest/jww/emqttd
Erlang/OTP 19 [erts-8.1] [source-77fb4f8] [64-bit] [smp:10:10] [async-threads:32] [hipe] [kernel-poll:true]

starting emqttd on node '[email protected]'
emqttd ctl is starting...[ok]
emqttd hook is starting...[ok]
emqttd router is starting...[ok]
emqttd pubsub is starting...[ok]
emqttd stats is starting...[ok]
emqttd metrics is starting...[ok]
emqttd pooler is starting...[ok]
emqttd trace is starting...[ok]
emqttd client manager is starting...[ok]
emqttd session manager is starting...[ok]
emqttd session supervisor is starting...[ok]
emqttd wsclient supervisor is starting...[ok]
emqttd broker is starting...[ok]
emqttd alarm is starting...[ok]
emqttd mod supervisor is starting...[ok]
emqttd bridge supervisor is starting...[ok]
emqttd access control is starting...[ok]
emqttd system monitor is starting...[ok]
Load emq_mod_presence module successfully.
Load emq_mod_subscription module successfully.
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.
mqtt:wss listen on 0.0.0.0:8084 with 4 acceptors.
emqttd 2.1.2 is running now
Eshell V8.1  (abort with ^G)

启动

守护进程模式启动:./bin/emqttd start,日志输出在log/emqttd_sasl.log文件

状态监视

emqttd消息服务器进程状态查询:./bin/emqttd_ctl status

[rbtest@bogon emqttd]$ ./bin/emqttd_ctl status
Node '[email protected]' is started
emqttd 2.1.2 is running

emqttd消息服务器提供了状态监控URL:http://localhost:8083/status

停止服务器

停止命令: ./bin/emqttd stop

TCP端口占用

默认端口

端口 用途
1883 MQTT协议端口
8883 MQTT(SSL)端口
8083 MQTT(WebSocket), HTTP API端口
18083 Dashboard管理控制台端口

emqtt上述端口配置,可通过文件etc/emq.conf配置文件的listeners段落设置。

## TCP Listener: 1883, 127.0.0.1:1883, ::1:1883
mqtt.listener.tcp = 1883

## SSL Listener: 8883, 127.0.0.1:8883, ::1:8883
mqtt.listener.ssl = 8883


## HTTP and WebSocket Listener
mqtt.listener.http = 8083

配置文件

名称 作用
etc/emq.conf EMQ消息服务器参数设置
etc/plugins/*.conf EMQ插件配置文件
重要的配置

etc/emq.conf配置文件的’Listeners`段落设置最大允许连接数:

listener.tcp.external = 0.0.0.0:1883

listener.tcp.external.acceptors = 8

listener.tcp.external.max_clients = 1024

emq.conf有两个属性的配置

名称 作用
node.process_limit Erlang虚拟机允许的最大进程数,emqttd一个连接会消耗2个Erlang进程
node.max_ports Erlang虚拟机允许的最大Port数量,emqttd一个连接消耗1个Port

Erlang的Port非TCP端口,可以理解为文件句柄。

node.process_limit = 参数值 > 最大允许连接数 * 2

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

你可能感兴趣的:(emqttd安装)