消息队列4: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. 设置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;
行头加#表示注释;

示例的配置文件:

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

# tcp连接端口
listeners.tcp.default = 5672

完整的示例文件: 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,[]}
]

四、配置文件的载入策略

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

# 先关闭
rabbitmqctl stop
# 再启动
rabbitmq-server -detached

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

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

rabbitmq-diagnostics environment

但显示的配置文件格式是老版的,易读性不是很好,我测试的改变了插件[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

6.4 内存限制

。。。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jackletter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值