È possibile avviare localmente alcune app Phoenix su porte diverse dalla console utilizzando un comando come mix phoenix.server --port=4001
? Questo non funziona, ovviamente, ma, forse, c'è un modo simile.Avviare l'applicazione Phoenix con server cowboy su una porta diversa
20
A
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
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.
Grazie! Questo è quello che mi serve – kovpack
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
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