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
网友评论