Elixir 问题设置生产端口号-(RuntimeError)需要设置端口环境变量
我正在用edeliver部署aws。部署运行正常,但当我尝试使用Elixir 问题设置生产端口号-(RuntimeError)需要设置端口环境变量,elixir,phoenix-framework,edeliver,Elixir,Phoenix Framework,Edeliver,我正在用edeliver部署aws。部署运行正常,但当我尝试使用curl localhost:8888访问控制台中的站点时,我收到了一个连接被拒绝错误 如果我尝试使用/rel/bin/app\u name console启动应用程序,我会得到一个(RuntimeError),希望设置端口环境变量。但是,我的config/prod.exs如下所示 use Mix.Config config :elixir_deploy, ElixirDeployWeb.Endpoint, load_from
curl localhost:8888
访问控制台中的站点时,我收到了一个连接被拒绝
错误
如果我尝试使用/rel/bin/app\u name console
启动应用程序,我会得到一个(RuntimeError),希望设置端口环境变量
。但是,我的config/prod.exs
如下所示
use Mix.Config
config :elixir_deploy, ElixirDeployWeb.Endpoint,
load_from_system_env: true,
http: [port: 8888],
ssl: false,
url: [host: "example.com", port: 80],
cache_static_manifest: "priv/static/cache_manifest.json"
config :logger, level: :info
import_config "prod.secret.exs"
我错过了什么?如果我在手动启动之前设置了
PORT=8888
,它就可以工作了,但我更愿意使用edeliver自动启动您需要将load\u from\u system\u env
设置为false
(或者删除该行)。当它为true
时,Phoenix默认生成的endpoint.ex
将使用PORT
环境变量的值,如果找不到它,它将引发错误
if config[:load_from_system_env] do
port = System.get_env("PORT") || raise "expected the PORT environment variable to be set"
{:ok, Keyword.put(config, :http, [:inet6, port: port])}
else
{:ok, config}
end
您确定以后没有在配置中覆盖http端口配置吗?@Dogbert是的,唯一的其他行是开始时
使用Mix.config
,配置:logger,level::info
,最后是导入配置“prod.secret.exs”
。我正忙着让它在下一行工作。看不见森林里的森林。谢谢