RabbitMQ 启动及参数说明

/usr/local/lib/erlang/erts-10.4/bin/beam.smp -W w -A 128 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -K true -- -root /usr/local/lib/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.17/ebin -noshell -noinput -s rabbit boot -sname rabbit@server-d68bd180-e71e1 -boot start_sasl -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit lager_log_root "/var/log/rabbitmq" -rabbit lager_default_file "/var/log/rabbitmq/rabbit@server-d68bd189-ee71e1.log" -rabbit lager_upgrade_file "/var/log/rabbitmq/rabbit@server-d68bd189-ec0-4f37a5ee71e1_upgrade.log" -rabbit feature_flags_file "/var/lib/rabbitmq/mnesia/rabbit@server-d68bdf-ae1-feature_flags" -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/lib/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-3.7.17/plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@server-d68bd189-e9ba5ee71e1-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@server-d68bd1-5ee71e1" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672

以上脚本是用于启动 RabbitMQ 服务器的命令行参数。让我为您解释一下各个参数的含义:

  • /usr/local/lib/erlang/erts-10.4/bin/beam.smp: 这是 Erlang 虚拟机的可执行文件路径,用于执行 RabbitMQ 服务器。

  • -W w: 启用警告信息。

  • -A 128: 设置异步线程池的初始大小为 128。

  • -MBas ageffcbf: 设置二进制内存分配器的初始堆大小为 ageffcbf。

  • -MHas ageffcbf: 设置二进制内存分配器的最大堆大小为 ageffcbf。

  • -MBlmbcs 512: 设置最小的二进制堆大小为 512。

  • -MHlmbcs 512: 设置最大的二进制堆大小为 512。

  • -MMmcs 30: 设置最大的混合内存大小为 30。

  • -P 1048576: 设置 Erlang 进程的最大堆栈大小为 1048576。

  • -t 5000000: 设置垃圾回收的时间限制为 5000000 微秒。

  • -stbt db: 设置垃圾回收的调试选项为 db。

  • -zdbbl 128000: 设置调试信息的缓冲区大小为 128000 字节。

  • -K true: 启用内核 pollset。

  • --: 分隔符,用于将后续的参数传递给 Erlang 虚拟机。

  • -root /usr/local/lib/erlang: 设置 Erlang 安装的根目录。

  • -progname erl: 设置程序名称为 erl。

  • --: 分隔符,用于将后续的参数传递给 RabbitMQ 服务器。

  • -home /var/lib/rabbitmq: 设置 RabbitMQ 的主目录为 /var/lib/rabbitmq。

  • -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.17/ebin: 添加 RabbitMQ 服务器的 ebin 目录到代码路径。

  • -noshell: 启动时不显示 Erlang shell。

  • -noinput: 不从标准输入读取命令。

  • -s rabbit boot: 启动时运行 rabbit 模块的 boot 函数。

  • -sname rabbit@server-d68bd189-e9ba-473f-abc0-4f37a5ee71e1: 设置 RabbitMQ 服务器的节点名为 rabbit@server-d68bd189-e9ba-473f-abc0-4f37a5ee71e1。

  • -boot start_sasl: 启动时启动 SASL(System Architecture Support Libraries)。

  • -kernel inet_default_connect_options [{nodelay,true}]: 设置默认的网络连接选项。

  • -sasl errlog_type error: 设置错误日志类型为 error。

  • -sasl sasl_error_logger false: 禁用 SASL 错误日志记录器。

  • -rabbit lager_log_root "/var/log/rabbitmq": 设置日志文件的根目录为 /var/log/rabbitmq。

  • -rabbit lager_default_file "/var/log/rabbitmq/rabbit@server-d68bd189e71e1.log": 设置默认的日志文件路径。

  • -rabbit lager_upgrade_file "/var/log/rabbitmq/rabbit@server-d68bd189-e9_upgrade.log": 设置升级日志文件路径。

  • -rabbit feature_flags_file "/var/lib/rabbitmq/mnesia/rabbit@server-d68bd189-e9e71e1-feature_flags": 设置特性标志文件路径。

  • -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins": 设置启用的插件文件路径。

  • -rabbit plugins_dir "/usr/lib/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-3.7.17/plugins": 设置插件目录。

  • -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@server-d68bd18e71e1-plugins-expand": 设置扩展插件目录。

  • -os_mon start_cpu_sup false: 禁用 CPU 监控。

  • -os_mon start_disksup false: 禁用磁盘监控。

  • -os_mon start_memsup false: 禁用内存监控。

  • -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@server-d68bd1895ee71e1": 设置 Mnesia 数据库的目录。

  • -kernel inet_dist_listen_min 25672: 设置分布式节点监听的最小端口号为 25672。

  • -kernel inet_dist_listen_max 25672: 设置分布式节点监听的最大端口号为 25672。

这些参数用于配置 RabbitMQ 服务器的各种选项和功能。

相关推荐
用户8307196840821 天前
RabbitMQ vs RocketMQ 事务大对决:一个在“裸奔”,一个在“开挂”?
后端·rabbitmq·rocketmq
初次攀爬者3 天前
RabbitMQ的消息模式和高级特性
后端·消息队列·rabbitmq
初次攀爬者5 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
让我上个超影吧6 天前
消息队列——RabbitMQ(高级)
java·rabbitmq
塔中妖6 天前
Windows 安装 RabbitMQ 详细教程(含 Erlang 环境配置)
windows·rabbitmq·erlang
断手当码农6 天前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
初次攀爬者6 天前
Redis分布式锁实现的三种方式-基于setnx,lua脚本和Redisson
redis·分布式·后端
业精于勤_荒于稀6 天前
物流订单系统99.99%可用性全链路容灾体系落地操作手册
分布式
Ronin3056 天前
信道管理模块和异步线程模块
开发语言·c++·rabbitmq·异步线程·信道管理
Asher05096 天前
Hadoop核心技术与实战指南
大数据·hadoop·分布式