【问题标题】:Running Multiple Nodes for ejabberd server on aws. ec2 instance在 aws 上为 ejabberd 服务器运行多个节点。 ec2 实例
【发布时间】:2019-08-01 21:09:53
【问题描述】:

我已经在 aws 实例上安装了带有内置 ejabberd 服务器的 elixir。

以下是我对此的疑问:

  1. 当我通过 mix 命令启动 elixir 服务器时...
    • 控制台显示ejabberd服务器在nonode@nohost上启动。
    • 我想更改节点的名称。
    • 我尝试使用命令更改节点名称

:ejabberd_admin.mnesia_change_nodename('nonode@nohost', 'coolnode@localhost', "/_build/dev/lib/ejabberd/old.backup", "/_build/dev/lib/ejabberd/new.backup")

但它给了我错误

{:error, {:EXIT, :function_clause}}

我也试过了

  • 退出 elixir shell 并打印命令: iex --sname coolnode@localhost

它改变了节点名称,但是当我重新启动elixir服务器时,它再次打印在控制台上...... ejabberd服务器在nonode@nohost上启动

  1. 当我在另一个 aws 实例上安装 elixir ejabberd 服务器时,我想加入这 2 个节点。
    • 我应该怎么做?

【问题讨论】:

    标签: elixir ejabberd


    【解决方案1】:

    我想更改节点的名称。

    您可以在文件 ejabberdctl.cfg 中配置 erlang 节点名称:

    ERLANG_NODE=ejabberd@localhost
    

    在此之前,停止 ejabberd 并删除 Mnesia 假脱机文件(使用旧节点名称创建)。

    当我在另一个我想要的 aws 实例上安装 elixir ejabberd 服务器时 加入这两个节点。

    一旦您可以运行一个 ejabberd 节点。在另一台机器/实例中安装 ejabberd,并使用不同的 erlang 节点名称对其进行配置,可能是“ejabberd@machine2”。

    在其中一台机器上,执行如下操作:

    ejabberdctl join_cluster ejabberd@theotherone
    

    【讨论】:

      猜你喜欢
      • 2018-12-08
      • 2016-08-11
      • 2018-05-09
      • 2018-05-27
      • 1970-01-01
      • 2019-01-15
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多