2015-11-11 16 views
5

Ho una semplice app web Yesod. Potrei seguire le istruzioni in http://www.yesodweb.com/page/quickstart e controllato stack exec -- Yesod devel funziona correttamente.Distribuzione di app web Yesod

Il server che utilizzo (Amazon EC2) ha solo un gigabyte di memoria, quindi non posso compilare il web Yesod. Ho usato la mia macchina locale per costruire. Entrambi usano Ubuntu 14.04.

Da http://www.yesodweb.com/book/deploying-your-webapp, ho bisogno di tre componenti da distribuire su un'altra macchina.

  1. Il tuo eseguibile.
  2. La cartella config.
  3. La cartella statica.

Trovo facilmente la cartella config/static, ma non sono esattamente sicuro di dove trovare gli eseguibili. Oltre a questo, come eseguire l'exeuctable senza utilizzare stack exec -- Yesod devel?

risposta

1

Il comando stack build mi dà i consigli:

my-project-0.0.0: install 
Installing library in 
/home/a/my-project/.stack-work/install/x86_64-linux/lts-3.13/7.10.2/lib/x86_64-linux-ghc-7.10.2/my-project-0.0.0-Khn8lQEgR1HARzYGStlvPe 
Installing executable(s) in 
/home/a/my-project/.stack-work/install/x86_64-linux/lts-3.13/7.10.2/bin 
Registering my-project-0.0.0... 

L'eseguibile si trova in /home/a/my-project/.stack-work/install/x86_64-linux/lts-3.13/7.10.2/bin. Potrei copiare i file (eseguibili, statici e di configurazione) nella directory ~/deployment per verificare che Yesod funzioni correttamente.

1

Per quanto ne so, l'eseguibile dovrebbe essere nella sottodirectory di costruzione della directory del progetto. Penso che sia una directory nascosta (nome che inizia con un punto), quindi potrebbe essere necessario eseguire "ls -a" per vederlo.

Per eseguire: eseguire semplicemente l'eseguibile :) (Aggiungere '&' per farlo funzionare in background).

Una volta che avete la versione finale che si desidera andare in produzione con, probabilmente configurare l'eseguibile per l'avvio automatico all'avvio del VM, per rilevare se l'eseguibile si è schiantato, ecc

Buona fortuna, Michał