erlang - 无法按照牛仔指南开始监听服务器
问题描述
我正在尝试遵循这里的牛仔指南,但我似乎无法理解如何启动http 服务器。程序编译并启动,但没有监听 8080 端口的 http 服务器。
运行make run
do 似乎可以编译并运行i()
我确实看到的命令,hello_erlang_sup
如指南页面所述。
但是在将更改应用到hello_world_app:start/2
并运行之后,make run
或者make
没有可用的 http 侦听器。
我还添加erlang:display(inside_start),
了函数内部,并希望它可以打印到终端,不,也许这个函数没有被调用?但是,作为语言和牛仔的新手,我该如何调查,已经有大约 100 个文件用于 hello world ;)。
这是作为参考的功能:
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
就足够了?即我尝试运行_rel/hello_erlang/bin/hello_erlang_release
带有 start |的二进制文件。停止 | 安慰。
2)也许牛仔不是我开始的正确选择。我目前有兴趣看看 Erlang 是否适合我。也许我不应该从 web 开始,或者不应该使用任何库来消除混乱,只关注 Erlang。有什么建议么?
我肯定错过了一些非常明显但找不到的东西。
感谢任何帮助,谢谢
解决方案
推荐阅读
- swift - Swift --- 在 for in 循环中将 Char 转换为 Int
- r - R CMD CHECK --as-cran 在 OS X Catalina 上失败
- node.js - 关于 node.js 问题的 HTTPS
- reactjs - RDU - Axios、Express 和 Multer
- python - 具有多个用户类和 SSO 的 Flask 登录
- python - 检测pygame中矩形列表之间冲突的最有效方法?
- javascript - 我想了解为什么教授在一种语法中使用两个参数括号
- google-cloud-dataflow - 谷歌数据流中的 Pardo 函数不产生任何输出
- reactjs - 在 Firebase Firestore React 中添加数据
- node.js - 在 Node.js 应用程序中,如何在 EC2 上调用程序并等待 csv 输出