2、Nitrogen的项目(应用程序)是怎样融入Erlang系统运行的
在缺少文档的条件下,要弄清一些技术细节,比较可靠的办法是阅读源代码。
(1). shell启动命令:
erl -name nitrogen@127.0.0.1 -pa apps ebin include -pa ../ebin ../include -eval "application:start(quickstart_inets)"
其中的参数-eval "application:start(quickstart_inets)",是在启动Erlang之后,运行项目quickstart_inets。
(注:Erlang是函数语言,以求值为本,故将“调用”、“执行”之类,叫做“求值evaluate”)
项目资源文件quickstart_inets.app中规定:程序模块是quickstart.erl,平台是inets,端口是8000,网站根目录是"./wwwroot"等。于是,Erlang便按照这些设置,搭建起一个Web服务器。
(2). quickstart.erl的执行
模块中的函数start(_, _) -> nitrogen:start().
由此再看模块nitrogen.erl:
start() -> supervisor:start_link(?MODULE, []).
可见,Nitrogen把本模块(?MODULE,即nitrogen.erl)加入Erlang监管树中,成为其中子进程。
因此,Nitrogen的运行,可以拥有Erlang的那些功能优势。