美文网首页
RabbitMQ 之配置

RabbitMQ 之配置

作者: _大叔_ | 来源:发表于2019-07-22 09:16 被阅读0次

    RabbitMQ 的环境是都是以 "RABBITMQ_" 开头的,可以在shell环境中设置,也可以在rabbitmq_env.cnf配置文件设置,shell 比 配置文件 优先级高。
    RabbitMQ 的节点配置,可以通过 RABBITMQ_NODENAME配置,默认以 hostname 配置,也可以在配置文件配置。
    RABBITMQ_NOOENAME=rabbit@nodeName rabbitmq-server -detached(也可以后台运行)
    RabbitMQ 会先查看shell环境中是否定义,没有定义就会从配置文件读取,如果也没有设置,则为默认值。


    来自RabbitMq实战.pdf
    vim /usr/local/rabbitmq/etc/rabbitmq/rabbitmq-env.conf
    # RabbitMQ 环境变量的定义文件
    #定义节点名称
    NODENAME=rabbit@node
    #定义 RabbitMQ 的对外通信端口号
    NODE_PORT=5672
    #定义 RabbitMQ 配置文件的目录,注意对于 rabbitmq.config
    #文件来说这里不用添加“. config”后缀
    CONFIG_FILE=/usr/local/rabbitmq/etc/rabbitmq/rabbitmq
    

    指定NODENAME之后会报一个错误 ERROR: epmd error for host node: nxdomain (non-existing domain) 指定的域不存在
    只需要在 /etc/hosts 加入节点即可,如下所示:

    vim /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    127.0.0.1   node
    127.0.0.1   node1
    
    启动:
    RABBITMQ_NODENAME=rabbit@node ./rabbitmq-server 
    (节点只能单一存在,不能多开)
    

    启动后 查看日志:config file(s) : /usr/local/rabbitmq/etc/rabbitmq/rabbitmq.config (not found) 手动创建即可

    有关 rabbitmq.config 如下:


    来自RabbitMq实战.pdf 来自RabbitMq实战.pdf 来自RabbitMq实战.pdf 来自RabbitMq实战.pdf 来自RabbitMq实战.pdf 来自RabbitMq实战.pdf

    对于默认的取值规则,这个在 $RABBITMQ_HOME/sbin/rabbitrnq-defaults 文件中有 相关设置,当然也可以通过修改这个文件中的内容来修改 RabbitMQ 的环境变量,但是并不推 荐这么做,还是建议读者在 rabbitrnq-env.conf 中进行相应的设置。

    如下是 rabbitmq-defaults 的相应配置:

    RABBITMQ_NODE_IP_ADDRESS:绑定某个特定的网络接口 .默认值是空字符串 ,即绑定到所有网络接口上.如果要 绑定两个或者更多的网络接口,可以参考 rabbitmq.∞咽句中的 tcp_listeners 配置
    RABBITMQ_NODE_PORT:监听客户端连接的端口号,默认为 5672
    RABBITMQ_DIST_PORT:RabbitMQ 节点内部通信的端口号,默认值为 RABBITMQ_NODE_PORT+20000.即25672。如果设置了kernel.inet_dist_listen_min 或者 kernel.inect_dist_listen_max时,此环绕变量将被忽略
    RABBITMQ_NODENAME:RabbitMQ的节点名称,默认为 rabbit@$HOSTNAME。在每个 Erlang 节点和机器的组合中,节点名称必须唯一
    RABBITMQ_CONF_ENV_FlLE:RabbitMQ 环境变量的配置文件(rabbitmq-env.conf)的地址,默认值为$RABBITMQ_HOME/etc/rabbitmq/rabbitmq-env.conf注意这里与RabbitMq配置文件rabbitmq.config的区别。
    RABBITMQ_USE_LONGNAME:如果当前的 hostname 为node1.longname,那么默认情况下创建的节点名称为rabbit@nodel.将此参数设置为 true 时,创建的节点名称就为rabbit@node1.longname,即使用了长名称命名.默认值为空
    RABBITMQ_CONFIG_FILE:RabbitMq配置文件(rabbitmq.config)的路径,注意没有".config" 的后缀。默认值为$RABBITMQ_HOME/etc/rabbitmq/rabbitmq
    RABBITMQ_MNESIA_BASE:RABBITMQ_MNESIA_DIR的父目录。除非明确设置了 RABBITMQ_MNESIA_DIR 目录,否则每个节点都应该配置这个环境变量.默认值为$RABBITMQ_HOME/var/lib/rabbitmq/mnesia注意对于RabbitMQ的操作用户来说,需要有对当前目录可读、可写、可创建文件及子目录的权限
    RABBITMQ_MNESIA_DIR:包含 RabbitMQ服务节点的数据库、数据存储及集群状态等目录,默认值为$RABBITMQ_MNESIA_BASEI$RABBITMQ_NODENAME
    RABBITMQ_LOG_BASE:RabbitMQ 服务日志所在基础目录.默认值为$RABBITMQ_HOME/var/log/rabbitmq
    RABBITMQ_LOGS:RabbitMQ 服务与 Erlang 相关的日志,默认值为 $RABBITMQ_LOG_BASEI$RABBITMQ_NODENAME.log
    RABBITMQ_SASL_LOGS:RabbitMQ 服务于 Erlang的SASL(System Application Support Libraries)相关的日志,默认值为$RABBITMQ_LOG_BASE/$RABBITMQ_NODENAME-sasl.log
    RABBJTMQ_PLUGINS_DIR:插件所在路径。默认值为$RABBITMQ_HOME/plugins
    

    相关文章

      网友评论

          本文标题:RabbitMQ 之配置

          本文链接:https://www.haomeiwen.com/subject/hkqblctx.html