在AmazonEC2上运行Erlang项目



我们有一个具有不同进程的项目,并通过调用erl -pa ebinmymodule_supervisor:start_link().来运行它

我们已经在AmazonEC2上建立了一个ubuntu实例。作为新手,我们如何远程运行项目,以便关闭连接,项目将继续运行?

我们可以在后台运行Erlangshell,但不能在上面运行我们的项目。看看一个例子会很好。

方法1:您可以从代码中构建一个发布包。如果做得好,这将在一个易于分发的tar文件中嵌入一个完整的Erlang系统(以及您的应用程序及其依赖项)。使用自动生成的脚本,节点可以作为守护进程启动,即使在关闭shell后也可以在后台运行。

一个很好的入门方法是使用Rebar,它已经支持开箱即用的发布处理。

方法2:使用tmux或screen(两者都很容易安装在Ubuntu上)启动节点并分离会话。如果您选择tmux,以下操作应该有效:

  1. 只需从shell运行tmux即可启动tmux
  2. 从tmux中,像以前一样使用erl命令启动节点
  3. 使用Ctrl-bd分离会话。退出你的外壳。节点应该仍在运行

启动监控器的"正确"方法是从Erlang应用程序的start函数中调用其start_link函数。

最新更新