当前位置:   article > 正文

消息队列4:rabbitmq的配置_rabbitmq配置

rabbitmq配置

环境:

  • centos8.2
  • RabbitMQ 3.8.8
  • Erlang 23.0

安装RabbitMq环境参照:

本文参照:https://www.rabbitmq.com/configure.html

rabbitmq的安装位置为: /usr/local/rabbitmq

一、rabbitmq的日志文件

rabbitmq的默认日志文件位置为: /usr/local/rabbitmq/var/log/rabbitmq/rabbit@*t.log,如下图所示:
在这里插入图片描述

打开这个日志文件,我们可以看到rabbitmq的启动信息:
在这里插入图片描述

上图中的database dir中有个mnesia,这是erlang的一个分布式数据库,可以百度详情;

根据上面的提示,我们可以看到,我们自己没有给rabbitmq提供配置文件,所以rabbitmq使用的是内建的配置信息;

二、rabbitmq的配置文件位置

首先,看官网上给出的说明:
在这里插入图片描述
也就是说,在centos8.2下面,rabbitmq的配置文件应该是在:

# 注意安装目录为: /usr/local/rabbitmq
/usr/local/rabbitmq/etc/rabbitmq/rabbitmq.conf
/usr/local/rabbitmq/etc/rabbitmq/advanced.config
  • 1
  • 2
  • 3

默认安装后是不存在这两个文件的,我们需要根据自己的情况建立。
我们也可以使用环境变量指定配置文件的目录,例如:

  1. 设置rabbitmq.conf文件的位置
    RABBITMQ_CONFIG_FILE=/path/to/a/custom/location/rabbitmq.conf
  2. 设置advanced.config文件的位置
    RABBITMQ_ADVANCED_CONFIG_FILE=/path/to/a/custom/location/advanced.config
  3. 设置rabbitmq-env.conf文件的位置
    RABBITMQ_CONF_ENV_FILE=/path/to/a/custom/location/rabbitmq-env.conf

三、关于rabbitmq.conf和advanced.config

3.1 rabbitmq.conf文件

这个文件是在最新推出的配置文件格式,也是官网推荐的,我们应该尽可能的使用此配置文件。它的格式如下:

一个配置占一行;
配置采用键值对方式,如: key=value;
行头加#表示注释;
  • 1
  • 2
  • 3

示例的配置文件:

# 插件[rabbitmq_management]的web地址
management.tcp.port = 15672
management.tcp.ip   = 0.0.0.0

# tcp连接端口
listeners.tcp.default = 5672
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

完整的示例文件: https://github.com/rabbitmq/rabbitmq-server/blob/v3.8.x/deps/rabbit/docs/rabbitmq.conf.example

3.2 advanced.config文件

这个文件是老版本格式的配置文件,因为有个别配置在rabbitmq.conf文件格式中不容易配置,所以被保留了下来。它的里面的内容会在程序启动时被合并到rabbitmq.conf中。
示例格式如下:

[
 {amqp_client,
     [{prefer_ipv6,false},{ssl_options,[]},{writer_gc_threshold,1000000000}]},
 {asn1,[]},
 ...
 {xmerl,[]}
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

四、配置文件的载入策略

修改配置文件后,我们需要重启rabbitmq。

# 先关闭
rabbitmqctl stop
# 再启动
rabbitmq-server -detached
  • 1
  • 2
  • 3
  • 4

五、运行时查看生效的配置文件信息

运行如下命令,可以查看rabbitmq正在使用的配置文件信息:

rabbitmq-diagnostics environment
  • 1

但显示的配置文件格式是老版的,易读性不是很好,我测试的改变了插件[rabbitmq_management]的管理端口后,查看的结果如下:
在这里插入图片描述

六、常用的配置

6.1 网络配置

rabbitmq启动后,默认监听三个端口(启用[rabbitmq_management]插件):

执行命令:rabbitmqctl status,末尾输出如下:
在这里插入图片描述
这里的5672就是我们连接rabbitmq需要填写的地址,而[::]表示监听所有的ip。
如果我们想配置仅监听内网的ip个指定端口,可以配置如下:
在这里插入图片描述
配置后重启rabbitmq,再执行命令:rabbitmqctl status,末尾输出如下:
在这里插入图片描述
可以看到,监听的地址已经修改为仅监听 192.168.3.42:5673

如果我们想监听多个地址,可设置如下:
在这里插入图片描述

配置后重启rabbitmq,再执行命令:rabbitmqctl status,末尾输出如下:
在这里插入图片描述

注意: 上面的tcp.1、tcp.2、tcp.3并没有特殊的含义,你也可以用tcp.abc,它只是用于区分多个网络配置项的。
如果仅想将指定的端口限制到所有的ipv4上则修改上面的配置为:
listeners.tcp.3 = 0.0.0.0:5672
如果仅想将指定的端口限制到所有的ipv6上则修改上面的配置为:
listeners.tcp.3 = :::5672

注意:
本人测试:当新创建用户mq,并按照上面的监听设置后,发现localhost连接报认证错误,而用gust就可以连接上,所以最好使用静态ip连接

6.2 日志记录级别

rabbitmq的日志记录级别共有:error、warning、info、debug;默认的是info。
配置文件中修改如下:
在这里插入图片描述

6.3 限额

一个连接上允许开启的最大信道数量,配置如下(默认:2047):

# 设置为0,表示不限制。为了防止信道泄露,不要设置太高
channel_max = 2047
  • 1
  • 2

6.4 内存限制

。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/457121
推荐阅读
相关标签
  

闽ICP备14008679号