如何为Elixir中的节点分配默认名称?

时间:2013-07-19 22:08:58

标签: elixir

我正在使用Elixir中的一些分布式代码,但是,我必须继续传递--name为我的节点指定一个名称。反正默认是这样做的吗?我想在我的.elixirrc文件中设置一些内容,以便每个服务器始终具有相同的节点名称。

3 个答案:

答案 0 :(得分:6)

简答:不。

答案很长:您可以动态地为节点命名,因此如果您发现自己执行了许多设置任务(设置cookie,命名节点等),您可以使用一个脚本来帮助您启动它。你需要Elixir v0.10.1(目前是主人):

# boot.exs
:net_kernel.start([:foobar, :shortnames])

然后开始吧:

$ mix run boot.exs

Docs for net_kernel can be found here

答案 1 :(得分:1)

我也碰到了这个。确保节点在开发过程中始终具有名称的一种简单方法是将其添加到.iex.exs

if Node.self() == :nonode@nohost, do: Node.start(:dev, :shortnames)

答案 2 :(得分:0)

Node.start(:"foobar", :shortnames)

或者如果你想使用长名

Node.start(:"foobar@172.17.0.1")

假设IP地址为172.17.0.1。这必须是您要在其上创建节点的机器的IP地址。

只需运行Node.self

即可访问此节点