配置文件:

  • EMQ 配置文件: /etc/emqttd/emq.conf
  • 插件配置文件: /etc/emqttd/plugins/*.conf

日志文件

  • 日志文件目录: /var/log/emqttd

数据文件

  • 数据文件目录:/var/lib/emqttd/

启动停止

  • systemctl start|stop|restart emqttd.service

控制台调试模式启动,检查emqttd是否可正常启动:

cd emqttd && ./bin/emqttd console

CTRL+c关闭控制台。

守护进程模式启动:

./bin/emqttd start

启动日志输出在log/emqttd_sasl.log文件。

emqttd消息服务器进程状态查询:

./bin/emqttd_ctl status

  

正常运行状态,查询命令返回:

$ ./bin/emqttd_ctl status
Node 'emqttd@127.0.0.1' is started
emqttd 1.1 is running

emqttd消息服务器提供了状态监控URL:

http://localhost:8083/status

  

停止服务器:

./bin/emqttd stop

  

启用用户名密码:

关闭匿名验证:

修改etc/emq.conf

## Allow Anonymous authentication
mqtt.allow_anonymous = false

  

启用 emq_auth_username 插件:

启用 emq_auth_username 插件(不启用则mqtt.allow_anonymous = false不生效):

emqttd_ctl plugins load emq_auth_username
添加用户:

emqttd_ctl users add xxx xxxxxx

也可以通过修改plugins/emq_auth_clientid.conf的方式。

TCP服务端口占用

emqttd消息服务器默认占用的TCP端口包括:

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

emqttd占用的上述端口,可通过etc/emqttd.config配置文件的listeners段落设置:

{listeners, [
{mqtt, 1883, [
...
]}, {mqtts, 8883, [
...
]},
%% HTTP and WebSocket Listener
{http, 8083, [
...
]}
]},

  

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

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

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

快速设置

emqttd消息服务器主要配置文件:

etc/vm.args Erlang VM的启动参数设置
etc/emqttd.config emqttd消息服务器参数设置

etc/vm.args中两个重要的启动参数:

+P Erlang虚拟机允许的最大进程数,emqttd一个连接会消耗2个Erlang进程
+Q Erlang虚拟机允许的最大Port数量,emqttd一个连接消耗1个Port

注解

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

+P 参数值 > 最大允许连接数 * 2

+Q 参数值 > 最大允许连接数

警告

实际连接数量超过Erlang虚拟机参数设置,会引起emqttd消息服务器宕机!

etc/emqttd.config文件listeners段落设置最大允许连接数:

{listeners, [
{mqtt, 1883, [
%% TCP Acceptor池设置
{acceptors, 16}, %% 最大允许连接数设置
{max_clients, 8192}, ... ]},

  

emqttd消息服务器详细设置,请参见文档: config

/etc/init.d/emqttd

#!/bin/sh
#
# emqttd Startup script for emqttd.
#
# chkconfig: 2345 90 10
# description: emqttd is mqtt broker. # source function library
. /etc/rc.d/init.d/functions # export HOME=/root start() {
echo "starting emqttd..."
cd /opt/emqttd && ./bin/emqttd start
} stop() {
echo "stopping emqttd..."
cd /opt/emqttd && ./bin/emqttd stop
} restart() {
stop
start
} case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop}"
RETVAL=2
esac

chkconfig:

chmod +x /etc/init.d/emqttd
chkconfig --add emqttd
chkconfig --list

boot test:

service emqttd start

注解

## erlexec: HOME must be set uncomment ‘# export HOME=/root’ if “HOME must be set” error.

emq(centos 7) 使用的更多相关文章

  1. MQTT研究之EMQ:【基础研究】

    EMQ版本V2, emqttd-centos7-v2.3.11-1.el7.centos.x86_64.rpm 下载地址:http://emqtt.com/downloads/2318/centos7 ...

  2. centos 7 安装mqtt 修改用户名和密码

    我先新买个Centos 的系统 咱登录呢就用这个软件,主要是方便,可以少安装一些东西 根据自己的系统选择,上面的是32位的. 输入 root 回车 输入密码然后回车  输入的时候什么也不显示 输入 c ...

  3. EMQ (Erlang/Enterprise/Elastic MQTT Broker)

    EMQ (Erlang/Enterprise/Elastic MQTT Broker) https://www.cnblogs.com/SteveLee/p/9843215.html MQ介绍 EMQ ...

  4. EMQ ---100万线连接测试说明

    注解 EMQ 2.0 消息服务器默认设置,允许最大客户端连接是512,因为大部分操作系统 ‘ulimit -n’ 限制为1024. EMQ 消息服务器1.1.3版本,连接压力测试到130万线,8核心/ ...

  5. Centos8上搭建EMQ MQTT

    layout: post title: Centos8上搭建EMQ MQTT subtitle: 在阿里云Centos8搭建EMQ并配置接入 date: 2020-3-11 author: Dapen ...

  6. Linux CentOS 配置Tomcat环境

    一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...

  7. Hyper-v 安装CentOS 7 (其他虚拟机一样参考)

    平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html hyper-v安装很多人没弄过,我这里介绍一下.(其他虚拟机参 ...

  8. ifconfig: command not found(CentOS专版,其他的可以参考)

    ifconfig: command not found 查看path配置(echo相当于c中的printf,C#中的Console.WriteLine) echo $PATH 解决方案1:先看看是不是 ...

  9. Centos 下 mysql root 密码重置

    重置mysql密码的方法有很多,官网也提供了很方便的快捷操作办法,可参考资料 resetting permissions .本文重置密码的具体步骤如下: 一.停止MySQL(如果处于运行状态) #se ...

随机推荐

  1. 【BFS】bzoj2252 [2010Beijing wc]矩阵距离

    要注意一开始将所有为'1'的点入队,然后通过一次BFS去更新所有点的距离,直到无法更新为止. #include<cstdio> #include<queue> #include ...

  2. [POI2010]Divine Divisor

    [POI2010]Divine Divisor 题目大意: 给你\(m(m\le600)\)个数\(a_i(a_i\le10^{18})\).\(n=\prod a_i\).现在要你找到一个最大的\( ...

  3. PHP手册笔记

    <?php getenv — 获取一个环境变量的值 $ip = getenv ( 'REMOTE_ADDR' ); // 或简单仅使用全局变量($_SERVER 或 $_ENV) $ip = $ ...

  4. Android 权限处理

    概述: 为了保护系统的完整性和用户隐私权,Android 在访问受限的沙盒中运行每款应用. 如果应用需要使用其沙盒以外的资源或信息,则必须明确请求权限. 根据应用请求的权限类型,系统可能会自动授予权限 ...

  5. HDU 3360 National Treasures(二分匹配,最小点覆盖)

    National Treasures Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  6. 三大UML建模工具Visio、Rational Rose、PowerDesign

    UML建模工具Visio .Rational Rose.PowerDesign的比较 应用最广的由两种种1. Rational Rose,它是ibm的 .2.Microsoft的 Microsoft ...

  7. Nao 类人机器人,Aldebaran Robotics公司

    Nao 类人机器人,Aldebaran Robotics 公司,被SOFTBANK 收购,阿里巴巴.富士康参股. https://www.aldebaran.com/en   一家法国的公司. htt ...

  8. 使用Apache POI导出Excel小结--导出XLS格式文档

    使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI ...

  9. IDEA/Pycharm/Webstorm项目目录中的 Scratches and Consoles作用

    临时的文件编辑环境,通过临时的编辑环境,你可以写一些文本内容或者一些代码片段. 参考:https://segmentfault.com/a/1190000014202363 https://www.w ...

  10. saltstack之mount和umount的用法

    线上很多服务器都需要挂载存储上的公共目录,并实现开机启动(/etc/fstab),比如web的静态文件共享目录,日志远程集中收集等. 一.批量挂载部分. 1.在node1上配置nfs服务器,有关nfs ...