酿酒厂发布的配置

时间:2016-09-05 15:20:42

标签: elixir phoenix-framework distillery

我浏览了https://hexdocs.pm/distillery/getting-started.html文档,但无法运行基本的Phoenix应用程序。这就是我的所作所为:

mix phoenix.new test_app --no-ecto
cd test_app

我更新mix.exs文件以包含酿酒厂部分:

[...]
defp deps do
  [{:phoenix, "~> 1.2.0-rc"},
   {:phoenix_pubsub, "~> 1.0.0-rc"},
   {:phoenix_html, "~> 2.5"},
   {:phoenix_live_reload, "~> 1.0", only: :dev},
   {:gettext, "~> 0.11"},
   {:cowboy, "~> 1.0"},
   {:distillery, "~> 0.9"}]
end
[...]

比我运行以下命令:

mix deps.get
mix compile
mix release.init
export PORT=4000
./node_modules/brunch/bin/brunch b -p
MIX_ENV=prod mix do phoenix.digest, release --env=prod

结果如下:

05 Sep 17:16:02 - info: compiled 6 files into 2 files, copied 3 in 1.7 sec
Check your digested files at "priv/static"
==> Assembling release..
==> Building release test_app:0.0.1 using environment prod
==> Packaging release..
==> Release successfully built!
    You can run it in one of the following ways:
      Interactive: rel/test_app/bin/test_app console
      Foreground: rel/test_app/bin/test_app foreground
      Daemon: rel/test_app/bin/test_app start

根据我的理解,我应该可以使用命令

启动Phoenix应用程序
rel/test_app/bin/test_app foreground

但是当我这样做时,我无法通过浏览器访问网址http://localhost:4000

我的设置是否错误或是否误解了系统?我该如何开始新版本?

1 个答案:

答案 0 :(得分:4)

Using Distillery With Phoenix页面所述,您需要更改config/prod.exs中的某些设置。将TestApp.Endpoint配置更改为:

config :test_app, TestApp.Endpoint,
  http: [port: {:system, "PORT"}],
  url: [host: "localhost", port: {:system, "PORT"}],
  cache_static_manifest: "priv/static/manifest.json",
  server: true,
  root: ".",
  version: Mix.Project.config[:version]

以下命令在先前导出的端口上成功启动Phoenix:

rel/test_app/bin/test_app foreground