zoukankan      html  css  js  c++  java
  • emq(centos 7) 使用

    配置文件:

    • 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.

  • 相关阅读:
    Construct Binary Tree From Inorder and Postorder Traversal
    Construct Binary Tree From Preorder and Inorder Traversal **
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
    Flatten Binary Tree to Linked List
    E1总结和CISCO E1配置
    Dial-peer匹配顺序
    CUCM来实现PLAR
    CUCM实现Extension Mobility
    语音笔记20 URI
  • 原文地址:https://www.cnblogs.com/saryli/p/9766412.html
Copyright © 2011-2022 走看看