RabbitMQ 作为 Windows 服务的配置文件

Oli*_*r H 6 windows configuration service rabbitmq

我正在设置一个 RabbitMQ 实例以在我的开发工作站上运行以进行测试。

我想使用配置(在我的情况下是关于流量控制的配置)。

我已经安装了erlang,rabbitmq-server-3.1.1,设置RABBITMQ_BASE到某个目录,设置RABBITMQ_CONFIG_FILEc:/path/to/myconf(所以它引用c:\path\to\myconf.config)。

现在我打开我的 cmd 并执行 rabbitmq-service install。Web 管理器显示我的 RMQ 服务器已启动并正在运行。

但是disk_free_limit我设置的值不匹配。

我不知道是否没有读取配置文件,或者我的配置文件是否有错误并因此被忽略。

我的conf文件的内容:

[
    {rabbit,
        [
            {disk_free_limit, 250000000}
        ]
    }
].
Run Code Online (Sandbox Code Playgroud)

日志中的启动报告(它显示我的 conf 文件没有被读取):

=INFO REPORT==== 12-Jun-2013::17:06:44 ===
node           : rabbit@DEV-WORKSTATION
home dir       : C:\Windows
config file(s) : (none)
cookie hash    : 2SazL+DgWDMqrHlr4w8R8A==
log            : c:/rabbitmq_server-3.1.1/RabbitMQ/log/DEV-WORKSTATION.log
sasl log       : c:/rabbitmq_server-3.1.1/RabbitMQ/log/rabbit@DEV-WORKSTATION-sasl.log
database dir   : c:/rabbitmq_server-3.1.1/RabbitMQ/db/rabbit@DEV-WORKSTATION-mnesia
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。

Dha*_*han 6

我有同样的问题,并努力弄清楚。我认为开始菜单中提供的选项做事不正确。一旦我从命令行运行,它就运行良好。

将 RABBITMQ_CONFIG_FILE 设置为您的配置文件 1. 添加您的配置文件 2. rabbitmq-service stop 3. rabbitmq-service remove 4. rabbitmq-service install

然后它能够​​拾取配置文件


Mos*_*atz 5

确保RABBITMQ_CONFIG_FILE在正确的位置设置环境变量。它需要System variablesControl Panel> System> Advanced...>中的部分Environment Variables

请注意,RabbitMQ 服务启动脚本所做的只是:

if "!RABBITMQ_CONFIG_FILE!"=="" (
    set RABBITMQ_CONFIG_FILE=!RABBITMQ_BASE!\rabbitmq
)
Run Code Online (Sandbox Code Playgroud)

它只是检查变量是否已设置,如果未设置,则将其设置为默认值。然后继续检查附加.config扩展名的文件是否存在:

if exist "!RABBITMQ_CONFIG_FILE!.config" (
    set RABBITMQ_CONFIG_ARG=-config "!RABBITMQ_CONFIG_FILE!"
) else (
    set RABBITMQ_CONFIG_ARG=
)
Run Code Online (Sandbox Code Playgroud)

(我真的不能说我建议这样做,但是,如果您真的想这样做,您可以进行更改,c:/rabbitmq_server-3.1.1/RabbitMQ/sbin/rabbitmq-service.bat以便上面的行使用您想要的位置作为默认位置。)

  • 需要注意的是,在安装服务时,`rabbitmq-service.bat` 中的上述代码部分仅运行一次。因此,如果您稍后添加配置文件,则必须重新安装服务才能获取配置文件设置。 (6认同)