前言
当我们搭建了一个简易的 echo cowboy 服务器,我们需要将其部署到其他地方的时候,就需要用到 release,而不是 app 。 在前一篇文章中,我们用 shell 命令开启了窗口控制台,在这里我们用其他命令来。
修改
需要修改的内容主要是两个,一个是和 sys.config 同目录下的 vm.args,另一个,则是源码里的 bridge.app.src 文件。
在 vm.args 中,第一行的内容应该为 -sname bridge,修改为 -name bridge@127.0.0.1
给 bridge.app.src 中默认有 kernel 和 stdlib 的地方,添加一条 cowboy
编译
编译的命令是固定的,执行命令的目录是 apps 和 config 文件夹的同级目录
命令: ./reabr3 clean & ./rebar3 as prod release
前一句是清理以前的编译结果,防止曾经编译残存造成出错,后一句的prod是可以任写的,是存放编译后的,可以放到生产上的内容的文件夹的名称。
执行
编译成功后,我们进入 _build/prod/rel/bridge 目录下,正常情况下会有四个文件夹,一个 bin, 一个 erlang 版本文件夹,一个 lib 文件夹和一个 releases 文件夹。这个 bin 文件夹就是我们需要的东西,在当前目录下运行:
./bin/bridge console ./bin/bridge/start ./bin/bridge/start
console 命令主要用于调试,功能和 shell 类似,同样的,关闭窗口后应用也关闭了。 start命令则是使用之后就会开启应用,不会开启窗口,应用不会主动停止。 stop 命令对前两个命令都有效(前两个命令是互斥的,无法同时执行),会关闭当前应用。 console 主要用于调试,start 用于实际开启应用。
网友评论