2015-12-23 20 views
6

Sto provando a eseguire la mia app Phoenix in produzione per sempre, cioè indipendentemente dal mio processo terminale. Ho visto nelle guide di Phoenix e in una domanda StackOverflow che posso utilizzare elixir --detached, ma non riesco a utilizzare correttamente questi comandi. In effetti sono stato in grado, una volta, di avviarlo in quel modo, ma ho provato così tanti comandi che non so nemmeno quale sia (anche perché non c'è un messaggio per chiarirlo). Quindi, usando l'ultima versione di Phoenix (1.1) ed Elixir (1.1.1), quali sono i comandi per: 1) avviare il server per sempre (come daemon); 2) arrestare il server senza la necessità di riavviare il server?Come eseguire Phoenix in produzione per sempre

risposta

12

Non ho mai capito come eseguire un'app Elixir/Phoenix come un demone utilizzando l'interruttore --detached. Tuttavia, posso dirti che la creazione di una versione OTP con Exrm è la strada da percorrere. All'inizio può sembrare un po 'intimidatorio, ma prometto che è piuttosto facile e dopo un paio di build sarà praticamente irragionevole per te. Inoltre, se investirai il tempo per imparare Exrm ora, non dovrai perfezionare le distribuzioni di produzione in un secondo momento.

C'è un Phoenix Guide for Exrm Releases. Inoltre, ho appena pubblicato un ExCasts epsiode sull'argomento. Sebbene questo episodio non copra specificamente una versione di Phoenix con Exrm, tutti i concetti e le dimostrazioni sono applicabili. Utilizzando Exrm per costruire versioni di OTP ha molti benefici che sono coperti in questo episodio, tra cui uno script generato con diversi comandi, incluso ma non limitato a: console, remote_console e caldo upgrade/downgrade. Ciò significa che è possibile distribuire l'applicazione senza riavviare l'applicazione.

Spero che questo aiuti e buona fortuna!

+0

Grazie, Jason. Penso che seguire quella strada troppo, ma ora ho bisogno di demo mia app per i clienti e sto sempre riprendere il contatto con il mio server remoto per mantenere in esecuzione quindi questo era solo per una demo temporanea ASAP soluzione. –

+2

Nel peggiore dei casi, usa tmux o schermo per tenere l'app in esecuzione in primo piano per la tua demo. –

+0

@ MickaëlRémond Grazie! Farò. –

Problemi correlati