前言
當(dāng)我們搭建了一個(gè)簡(jiǎn)易的 echo cowboy 服務(wù)器,我們需要將其部署到其他地方的時(shí)候,就需要用到 release,而不是 app 。 在前一篇文章中,我們用 shell 命令開(kāi)啟了窗口控制臺(tái),在這里我們用其他命令來(lái)。
修改
需要修改的內(nèi)容主要是兩個(gè),一個(gè)是和 sys.config 同目錄下的 vm.args,另一個(gè),則是源碼里的? bridge.app.src 文件。
在 vm.args 中,第一行的內(nèi)容應(yīng)該為 -sname bridge,修改為 -name bridge@127.0.0.1
給 bridge.app.src 中默認(rèn)有 kernel 和 stdlib 的地方,添加一條 cowboy
編譯
編譯的命令是固定的,執(zhí)行命令的目錄是 apps 和 config 文件夾的同級(jí)目錄
命令: ./reabr3 clean & ./rebar3 as prod release
前一句是清理以前的編譯結(jié)果,防止曾經(jīng)編譯殘存造成出錯(cuò),后一句的prod是可以任寫(xiě)的,是存放編譯后的,可以放到生產(chǎn)上的內(nèi)容的文件夾的名稱(chēng)。
執(zhí)行
編譯成功后,我們進(jìn)入? _build/prod/rel/bridge 目錄下,正常情況下會(huì)有四個(gè)文件夾,一個(gè) bin, 一個(gè) erlang 版本文件夾,一個(gè) lib 文件夾和一個(gè) releases 文件夾。這個(gè) bin 文件夾就是我們需要的東西,在當(dāng)前目錄下運(yùn)行:
./bin/bridge console? ? ? ? ? ? ? ? ?./bin/bridge/start? ? ? ? ? ? ? ? ? ? ?./bin/bridge/start
console 命令主要用于調(diào)試,功能和 shell 類(lèi)似,同樣的,關(guān)閉窗口后應(yīng)用也關(guān)閉了。 start命令則是使用之后就會(huì)開(kāi)啟應(yīng)用,不會(huì)開(kāi)啟窗口,應(yīng)用不會(huì)主動(dòng)停止。 stop 命令對(duì)前兩個(gè)命令都有效(前兩個(gè)命令是互斥的,無(wú)法同時(shí)執(zhí)行),會(huì)關(guān)閉當(dāng)前應(yīng)用。 console 主要用于調(diào)試,start 用于實(shí)際開(kāi)啟應(yīng)用。