无法按照牛仔指南开始监听服务器

时间:2018-11-16 13:28:55

标签: erlang cowboy

我正在尝试遵循cowboy guide here,但似乎无法理解如何启动 http服务器。该程序会编译并启动,但是没有HTTP服务器在端口8080上侦听。

运行make run确实可以编译并运行i()命令,我确实看到了hello_erlang_sup流程,如指南页所示。

但是将更改应用到hello_world_app:start/2并运行make runmake之后,没有http侦听器可用。

我还在函数内添加了erlang:display(inside_start),,希望它可以打印到终端上,不是,也许这个函数没有被调用?但是,作为语言和牛仔的新手,我该如何调查呢,已经有100个文件用于问候世界了;)。

以下是参考功能:

start(_Type, _Args) ->
    erlang:display(inside_start),
    Dispatch = cowboy_router:compile([
        {'_', [
            {"/", hello_handler, []}
        ]}
    ]),
    {ok, _} = cowboy:start_clear(my_http_listener, [{port, 8080}], #{
        env => #{dispatch => Dispatch}
    }),
    hello_world_sup:start_link().

如果有帮助/有影响,

$ erl --version
Erlang/OTP 21 [erts-10.1.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]

$ uname -a
Linux 4.18.16-arch1-1-ARCH x86_64 GNU/Linux

我似乎无法找到atm的一些天真问题:

1)我是否需要做一些事情来真正“开始”任何事情,或者make run就足够了?即,我尝试使用start |运行_rel/hello_erlang/bin/hello_erlang_release中的二进制文件停止|控制台。

2)也许牛仔不是我开始的正确选择。我目前对查看Erlang是否适合我很感兴趣。也许我不应该从Web入手,也不应该使用任何库来消除混乱并仅关注Erlang。有什么建议吗?

我肯定会错过一些非常明显但找不到的东西。

感谢任何帮助, 谢谢

0 个答案:

没有答案