2016-08-03 37 views
4

Ich bekomme den folgenden Fehler beim Starten meiner App im Produktionsmodus. Alles funktioniert gut auf dev Seite, kann migrieren, kompilieren und veröffentlichen ohne Probleme in der Produktions-App, aber wenn es ausgeführt wird, stürzt es beim Start ab. Ich bin mir sicher, dass es etwas sehr offensichtlich ist, das ich vermisse. Ich führe Erlang 19 und Elixir 1.3.2.Elixir Phoenix Herunterfahren: Kind konnte nicht gestartet werden

17:42:52.768 [info] Application curriculum exited: Curriculum.start(:normal, []) returned an error: shutdown: failed to start child: Curriculum.Endpoint ** (EXIT) shutdown: failed to start child: Phoenix.Endpoint.Server ** (EXIT) an exception was raised: ** (FunctionClauseError) no function clause matching in System.get_env/1 (elixir) lib/system.ex:358: System.get_env(4000) (phoenix) lib/phoenix/endpoint/server.ex:34: Phoenix.Endpoint.Server.to_port/1 (phoenix) lib/phoenix/endpoint/server.ex:28: Phoenix.Endpoint.Server.default/3 (phoenix) lib/phoenix/endpoint/server.ex:17: anonymous fn/5 in Phoenix.Endpoint.Server.init/1 (elixir) lib/enum.ex:1623: Enum."-reduce/3-lists^foldl/2-0-"/3 (phoenix) lib/phoenix/endpoint/server.ex:15: Phoenix.Endpoint.Server.init/1 (stdlib) supervisor.erl:294: :supervisor.init/1 (stdlib) gen_server.erl:328: :gen_server.init_it/6 {"Kernel pid terminated",application_controller,"{application_start_failure,curriculum,{{shutdown,{failed_to_start_child,'Elixir.Curriculum.Endpoint',{shutdown,{failed_to_start_child,'Elixir.Phoenix.Endpoint.Server',{function_clause,[{'Elixir.System',get_env,[4000],[{file,\"lib/system.ex\"},{line,358}]},{'Elixir.Phoenix.Endpoint.Server',to_port,1,[{file,\"lib/phoenix/endpoint/server.ex\"},{line,34}]},{'Elixir.Phoenix.Endpoint.Server',default,3,[{file,\"lib/phoenix/endpoint/server.ex\"},{line,28}]},{'Elixir.Phoenix.Endpoint.Server','-init/1-fun-0-',5,[{file,\"lib/phoenix/endpoint/server.ex\"},{line,17}]},{'Elixir.Enum','-reduce/3-lists^foldl/2-0-',3,[{file,\"lib/enum.ex\"},{line,1623}]},{'Elixir.Phoenix.Endpoint.Server',init,1,[{file,\"lib/phoenix/endpoint/server.ex\"},{line,15}]},{supervisor,init,1,[{file,\"supervisor.erl\"},{line,294}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,328}]}]}}}}},{'Elixir.Curriculum',start,[normal,[]]}}}"}

Prod.exs Dateiinhalt

http: [port: {:system, 4000}],url: [host: "example.com"],cache_static_manifest: "priv/static/manifest.json",server: true 
config :phoenix, :serve_endpoints, true 

import_config "prod.secret.exs" 
+0

Können Sie Ihre 'config/prod.exs' einfügen? Irgendetwas scheint in der dortigen Portkonfiguration falsch zu sein. – Dogbert

+0

Prod.exs Inhalte hinzugefügt, danke – CherryCoda

Antwort

2

Ihr Wert für port in config/prod.exs falsch ist. Es sollte entweder:

port: 4000 

immer läuft auf Port 4000, oder:

port: {:system, "PORT"} 

den Hafen aus den Umgebungsvariablen lesen PORT (Sie den Namen jedes anderen Zeichenfolge ändern kann).

+0

Vielen Dank – CherryCoda