rabbitmq 的配置方法

2016-05-18 20:32:01   最后更新: 2016-05-20 12:10:29   访问数量:1715




此前的博客中,我们介绍了 rabbitmq 的安装、使用,然而最重要的,rabbitmq 的配置一直都没有讲解,因为 rabbitmq 安装后会有一些自动配置,通常我们无需进行任何额外配置就可以直接使用

接下来我们要进入 rabbitmq 集群的介绍中,rabbitmq 的配置是必不可少的,因此,在本文中,主要介绍一下 rabbitmq 的配置方法

 

rabbitmq 有三种配置方式:

  1. 环境变量
  2. 配置文件
  3. 运行时参数

 

环境变量是通过 /etc/rabbitmq/rabbitmq-env.conf 进行配置的,这个文件的路径和文件名是不可以更改的,也不会自动创建,如果你需要自己配置相应环境变量,就需要手动创建它

在这个文件中,你可以进行预设的几个环境变量的配置,类似:

#example rabbitmq-env.conf file entries #Rename the node NODENAME=bunny@myhost #Config file location and new filename bunnies.config CONFIG_FILE=/etc/rabbitmq/testdir/bunnies

 

 

你可以改变的环境变量如下表:

可供配置的 rabbitmq 环境变量
变量名默认值描述
RABBITMQ_CONFIG_FILE/etc/rabbitmq/rabbitmq配置文件
RABBITMQ_MNESIA_BASE/var/lib/rabbitmq/mnesia可供使用的 mnesia 数据库安装路径
RABBITMQ_LOG_BASE/var/log/rabbitmqlog 所在目录
RABBITMQ_LOGS$RABBITMQ_LOG_BASE/$RABBITMQ_NODENAME.loglog 文件
RABBITMQ_PLUGINS_DIR$RABBITMQ_HOME/plugins插件目录
RABBITMQ_PLUGINS_EXPAND_DIR$RABBITMQ_MNESIA_BASE/$RABBITMQ_NODENAME-plugins-expand插件扩展目录
RABBITMQ_ENABLED_PLUGINS_FILE${install_prefix}/etc/rabbitmq/enabled_plugins启用插件配置文件
RABBITMQ_PID_FILE$RABBITMQ_MNESIA_DIR.pidpid 配置文件
RABBITMQ_NODE_IP_ADDRESSnone绑定的 IP,如果需要绑定多个,则在配置文件中配置 tcp_listeners
RABBITMQ_NODE_PORT5672队列绑定的端口
RABBITMQ_DIST_PORTRABBITMQ_NODE_PORT + 20000供集群使用的端口
RABBITMQ_NODENAMErabbit@$HOSTNAME集群中队列的名字
RABBITMQ_USE_LONGNAMEfalse集群节点是否使用全名
RABBITMQ_CTL_ERL_ARGSnonerabbitmq 使用的 erl 参数

 

配置文件的具体路径和文件名默认是 /etc/rabbitmq/rabbitmq,可以通过环境变量配置文件中的 RABBITMQ_CONFIG_FILE 配置项更改

rabbitmq 配置文件的格式是 erlang 配置格式,类似于:

[ {rabbit, [{tcp_listeners, [5673]}]} ].

 

如果配置文件的配置与环境变量中的配置有冲突,则 rabbitmq 会优先使用配置文件中的配置

具体的配置项可以参考官方文档:

Configuration File

 

有时,我们需要在 rabbitmq 运行的同时改变一些配置,这个时候就需要运行时参数控制了

rabbitmq 提供了 rabbitmqctl 命令和一组 http api

 

rabbitmqctl

  • rabbitmqctl set_parameter {-p vhost} component_name name value
  • rabbitmqctl clear_parameter {-p vhost} component_name name
  • rabbitmqctl list_parameters {-p vhost}

 

http api

  • PUT /api/parameters/component_name/vhost/name
  • DELETE /api/parameters/component_name/vhost/name
  • GET /api/parameters

 

RabbitMQ Configuration -- http://www.rabbitmq.com/configure.html

Parameters and Policies -- http://www.rabbitmq.com/parameters.html

 






技术帖      config      配置      技术分享      api      rabbitmq      消息队列      message queue      queue      configure     


京ICP备15018585号