我浏览了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
我的设置是否错误或是否误解了系统?我该如何开始新版本?
答案 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