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
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!
Inoltre, vedere la libreria di distilleria eccellente. Il GitHub è qui: https://github.com/bitwalker/distillery
C'è anche una guida per ottenere la vostra phoenix applicazione installato e funzionante:
https://hexdocs.pm/distillery/phoenix-walkthrough.html#phoenix-walkthrough
In seguito, è possibile eseguire il processo in primo piano o sullo sfondo quanto riguarda la vostra preferenza .
- 1. Come eseguire gevent in produzione
- 2. Come implementare l'autenticazione utente in phoenix
- 3. Come eseguire sidekiq nel server di produzione?
- 4. Eseguire il debug di un'applicazione in produzione
- 5. come eseguire angular 2 in un ambiente di produzione
- 6. Come posso eseguire node.js Express in modalità produzione tramite sudo?
- 7. Come applicare la codifica JSON per Phoenix Request?
- 8. Come ignorare gli errori in phoenix?
- 9. Come personalizzare l'id di Phoenix
- 10. Phoenix Ecto come gestire NoResultsError
- 11. Come configurare Plug.Static senza Phoenix
- 12. Come eliminare una sessione Phoenix?
- 13. Come eseguire il rendering di un pixel GIF trasparente in Phoenix?
- 14. parametri POST opzionali in Elixir Phoenix
- 15. Come eseguire l'aggiornamento in migrazione per Ecto?
- 16. Come includere file in modalità di produzione per quadro Gioca
- 17. Eseguire sempre la rimozione/reinstallazione durante l'aggiornamento
- 18. Android usa sempre la più recente API per eseguire un'app?
- 19. Come aggiungere un plug in Elixir/Phoenix prima del router?
- 20. Gradle: Forza l'attività personalizzata per eseguire sempre (senza cache)
- 21. VisualVM in produzione?
- 22. Compilazione Angular2 per produzione
- 23. Come si distribuisce un'applicazione Happstack in produzione?
- 24. ricerca a testo completo per phoenix framework
- 25. Callback di Phoenix Framework
- 26. Utilizzo di plug per azioni specifiche in Phoenix
- 27. LAMP, XAMPP per produzione
- 28. JVM Secure Debugging per produzione
- 29. Laravel 5: utilizzare la fattoria in produzione
- 30. SPDY a Phoenix
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. –
Nel peggiore dei casi, usa tmux o schermo per tenere l'app in esecuzione in primo piano per la tua demo. –
@ MickaëlRémond Grazie! Farò. –