格式:“读取 /opt/ejabberd/.erlang.cookie 时出错:eacces”
Posted
技术标签:
【中文标题】格式:“读取 /opt/ejabberd/.erlang.cookie 时出错:eacces”【英文标题】:format: "Error when reading /opt/ejabberd/.erlang.cookie: eacces" 【发布时间】:2019-03-22 00:14:38 【问题描述】:Ejabberd 聚类:
我在两个不同的 Digital Ocean Droplet 中设置了两个 Ejabberd 服务器。 我正在尝试在这两台服务器上构建集群。 我遵循了 Ejabberd 官方文档中的文档,即'https://docs.ejabberd.im/admin/guide/clustering/'
将 /home/ejabberd/.erlang.cookie 文件从 ejabberd01 复制到 ejabberd02。
确保我的新 ejabberd 节点配置正确。我在新节点上的 ejabberd.yml 配置文件与其他集群节点上的配置相同。
然后,当我尝试使用以下命令启动集群时: $ ejabberdctl --no-timeout join_cluster 'ejabberd@ejabberd01'
我收到以下错误:
args: []
format: "Error when reading /opt/ejabberd/.erlang.cookie: eacces"
label: error_logger,error_msg
请帮我解决这个问题。
提前谢谢你
【问题讨论】:
【参考方案1】:错误信息中那个eacess
的东西其实就是EACCESS
错误返回码standardized by POSIX:
[EACCES] 没有权限。 试图以文件访问权限禁止的方式访问文件。
换句话说,运行 ejabberd 节点的 Erlang BEAM 进程使用的凭据不足以打开 Erlang cookie 文件 /opt/ejabberd/.erlang.cookie
。
您可以开始here 以了解有关 Erlang cookie 的更多背景信息。
【讨论】:
我已经手动将文件从一个数字海洋服务器移动到另一个使用:scp user1@123.123:/var/www/file.sql /var/www/ command..我将如何运行集群通过更改文件权限。以上是关于格式:“读取 /opt/ejabberd/.erlang.cookie 时出错:eacces”的主要内容,如果未能解决你的问题,请参考以下文章