2015-05-29 15 views

risposta

32

Sì! Assicurarsi di impostare la configurazione mix per fare riferimento al porto env, cioè

config :my_app, MyApp.Endpoint, 
    http: [port: {:system, "PORT"}], 

Poi dal terminale:

$ PORT=4001 mix phoenix.server 
$ PORT=4002 mix phoenix.server 
$ PORT=4003 mix phoenix.server 
+0

Grazie! Questo è quello che mi serve – kovpack

+5

Nota: questa operazione in 'config.exs' non funziona, la ragione per cui suppongo sia il' dev.exs' sovrascrive la configurazione. Quindi mettilo in 'dev.exs'. Per maggiori informazioni, consultare questo problema su phoenix https://github.com/phoenixframework/phoenix/issues/962 – tejasbubane

+0

Nota 2: non aggiungere le righe ai file di configurazione ma modificare le linee esistenti. Ho ottenuto un errore criptico semplicemente aggiungendo le linee per la mia app. – Hartator

1

Questo era necessario per me come una soluzione dato che il mio problema era che avevo bisogno di lasciare C9.io dettare la porta, per me, l'aggiunta di questo codice al file dev.exs risolto il problema:

config :my_app, MyApp.Endpoint, 
    http: [port: {:system, "PORT"}], 

e poi nel terminale, ho solo bisogno di eseguire il server come normale:

mix phoenix.server 
20

Modificare il config/dev.exs e cambiare la porta HTTP Endpoint simile al seguente:

config :my_app, MyApp.Endpoint, 
    http: [port: System.get_env("PORT") || 4000], 

In questo modo la porta da impostare, o lasciato come predefinito 4000:

PORT=4002 mix phoenix.server # to run on port 4002 
mix phoenix.server # to run on port 4000 

Questa risposta è stata descritta da @ chris-mccord on github.