我们有一个包含不同流程的项目,并通过调用erl -pa ebin
,mymodule_supervisor:start_link().
我们在Amazon EC2上设置了一个ubuntu实例。作为新手,我们如何远程运行项目,以便我们可以关闭连接,项目将继续运行?
我们可以在后台运行Erlang shell,但我们不能在它上面运行它。看一个例子是完美的。
答案 0 :(得分:5)
方法1:您可以从代码中构建一个发布包。如果做得好,这将在一个易于分发的tar文件中嵌入一个完整的Erlang系统(以及你的应用程序及其依赖项)。使用自动生成的脚本,该节点可以作为守护程序启动,即使在关闭shell后也可以在后台运行。
开始使用的好方法是使用Rebar,它已经开箱即用release handling。
方法2:使用tmux或屏幕(均可轻松安装在Ubuntu上)启动节点并分离会话。如果选择tmux,则以下内容应该有效:
tmux
即可启动tmux。erl
命令启动节点。Ctrl-b
后跟d
分隔您的会话。退出你的shell。节点应该仍在运行。启动主管的“正确”方法是在Erlang application的start_link
函数内调用其start
函数。