在 Windows 中创建 Cookie 文件 RabbitMQ 失败

Posted

技术标签:

【中文标题】在 Windows 中创建 Cookie 文件 RabbitMQ 失败【英文标题】:Failed to Create Cookie file RabbitMQ in Windows 【发布时间】:2013-08-31 23:56:05 【问题描述】:

我正在尝试运行以下命令

rabbitmq-plugins.bat enable rabbitmq_management  

它给了我这样的错误:

11:36:55.464 [错误] 无法创建 cookie 文件 'h:/.erlang.cookie': enoent

我使用的是 Windows 7,Erlang 版本 R16B01 和 RabbitMQ-Server 版本 3.1.5

我正在使用我的工作电脑,我们的公司政策将 HOMEDRIVE 设置为 h: 并将 HOMEPATH 设置为 / 而且我认为他们不会让我改变这一点。

我可以在 C:\Windows 下看到 .erlang.cookie 文件。

有人可以告诉我解决方法吗?

提前致谢!

【问题讨论】:

您可以作弊并将 cookie 文件复制到您的主目录。只是内容是相关的;) 谢谢!会尝试的。目前我无法访问 H:drive,不确定为什么某些公司政策给我们无法访问的家庭驱动器:) 【参考方案1】:

有同样的 H: 问题。在执行 cli 之前,将主驱动器设置为 dos shell 中的某个目录。

set HOMEDRIVE=C:/conf/rabbitmq :: Or your favorite dir 
rabbitmq-plugins.bat enable rabbitmq_management

使用 C 盘中的文件夹。 rabbitmq系统会将cookie文件写入那里。

【讨论】:

【参考方案2】:

在您的 PC 中找到“.erlang.cookie”的位置并运行以下命令:

set HOMEDRIVE=[location of ".erlang.cookie"]
rabbitmq-plugins.bat enable rabbitmq_management

【讨论】:

【参考方案3】:

在某些情况下,您的 HOMEDRIVE 和 HOMEPATH 被组策略(活动目录用户)覆盖,而您每次想要启动 RabbitMQ 服务时都需要设置 HOMEDRIVE 变量。在这种情况下,您可以做的是:

    rabbitmq-service remove服务

    编辑 rabbitmq-service.bat 文件:

    "!ERLANG_HOME!\bin\erl.exe" ^
        -pa "!RABBITMQ_EBIN_ROOT!" ^
        -boot !CLEAN_BOOT_FILE! ^
        -noinput -hidden ^
        -s rabbit_prelaunch ^
        -setcookie "C:\Users\userName\" ^ <<< this is a place of your cookie
        !RABBITMQ_NAME_TYPE! rabbitmqprelaunch!RANDOM!!TIME:~9!@localhost ^
        -conf_advanced "!RABBITMQ_ADVANCED_CONFIG_FILE!" ^
        ..."
    

    保存脚本

    set HOMEDRIVE=C:\Users\userName安装服务前更改homedrive

    rabbitmq-service install重新安装服务

现在每次重新启动时,您的服务都会自动启动,并且所有路径都正常!

【讨论】:

【参考方案4】:

虽然这看起来很明显,但您确实需要“以管理员身份”运行 cmd - 在我纠正之前,我遇到了上述错误。 :-)

【讨论】:

【参考方案5】:

我按照以下步骤解决了这个问题:

    打开文件:“Program Files/RabbitMQ Server/rabbitmq_server-/sbin/rabbitmq-env”

    在文件末尾,追加以下行:

    REM Environment cleanup
    set BOOT_MODULE=
    set CONFIG_FILE=
    set FEATURE_FLAGS_FILE=
    set ENABLED_PLUGINS_FILE=
    set LOG_BASE=
    set MNESIA_BASE=
    set PLUGINS_DIR=
    set SCRIPT_DIR=
    set SCRIPT_NAME=
    set TDP0=
    set HOMEDRIVE=C: <<< the new path of the .erlang.cookie
    
    

    打开 RabbitMQ 控制台

    写:

    4.1。 rabbitmq-service stop 4.2. rabbitmq-service remove 4.3. rabbitmq-service install 4.4. rabbitmq-service start

【讨论】:

以上是关于在 Windows 中创建 Cookie 文件 RabbitMQ 失败的主要内容,如果未能解决你的问题,请参考以下文章

在 _Layout 文件中按下按钮时,如何在 Razor 页面中创建 cookie?

如何使用 MAC OS MATLAB 读取在 windows MATLAB 中创建的 .mat 文件

使用 .R 文件作为资源并直接在 C# 中创建批处理

如何在 ASP.NET 中创建持久性 cookie?

在 R 中创建多维 NetCDF

如何在 Windows/Mac/Linux 中创建隐藏文件?