rabbitmq - 如何将 .erlang.cookie 位置更改为外部用户主目录?

标签 rabbitmq

我在启动 RabbitMQ 时遇到问题,因为“rabbitmq”用户在用户 (ncoder) 主目录 (/usr/ncoder) 中没有权限。我无法向本地rabbitmq 用户提供对ncoder 用户主目录的写入访问权限,因为它是网络共享。如何更改 cookie 文件的位置以使用 /var/lib/rabbitmq/.erlang.cookie (rabbitmq 用户有权访问的位置)?

错误:

ncoder@serverA:/etc/rabbitmq$ sudo -u rabbitmq rabbitmqctl start {error_logger,{{2016,3,19},{3,57,2}},"Error when reading /usr/ncoder/.erlang.cookie: eacces",[]} {error_logger,{{2016,3,19},{3,57,2}},crash_report,[[{initial_call,{auth,init,['Argument__1']}},{pid,<0.20.0>},{registered_name,[]},{error_info,{exit,

最佳答案

首先,rabbitmqctl start 不是有效命令。要启动 RabbitMQ,您需要使用 rabbitmq-server

现在,关于Erlang cookie文件的位置,它是由Erlang强加的。在您的情况下,您应该将 .erlang.cookie 放入 /var/lib/rabbitmq 中。

如果 Erlang 无法在那里找到它,请验证 $HOME 环境变量是否指向实际的主目录(例如 /var/lib/rabbitmq); sudo(1) 应该正确设置它。

此外,.erlang.cookie 的权限必须设置为 0400 或 0600:组或任何人都不能读取它。

关于rabbitmq - 如何将 .erlang.cookie 位置更改为外部用户主目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36100926/

相关文章:

linux - 运行 RabbitMQ 的 CentOS 无法创建跟踪文件并远程登录其他 vhost

java - Camel 使用额外参数连接到 RabbitMQ 队列

python - 获取 RabbitMQ 队列中的消息数

rabbitmq - 无法启动RabbitMQ : undefined function rabbitmqctl_escript:main/1

java - 使用 Java 连接到带有 key 、证书和 cacert 文件而不是 .p12 文件的 RabbitMQ (TLS)

python - 如何在 celery task.apply_async 中使用优先级

node.js - RabbitMQ:如何限制消费率

performance - Laravel 4.1 - 队列 :listen performance

redis - Celery 在没有代理和后端运行的情况下工作

java - rabbitmq AlreadyClosedException