[genropy] Re: [genropy] Curiosità su installazione

  • From: Giovanni Porcari <giovanni.porcari@xxxxxxxxx>
  • To: genropy@xxxxxxxxxxxxx
  • Date: Sun, 6 Dec 2015 21:33:02 +0100


Il giorno 06 dic 2015, alle ore 14:39, Gollum1 <gollum1.smeagol1@xxxxxxxxx>
ha scritto:

Fino ad ora mi sono preoccupato dell'installazione a livello di una macchina
di sviluppo, la messa in produzione del framework (quindi per ora non
affronto il problema delle app sviluppate) in cosa differisce? Ho bisogno di
capirlo, per poi spiegarlo nella documentazione. Spiegatemi l'utilizzo della
directory .gnr in generale e dell'instanceconfig.xml in particolare, nelle
due tipologie di installazione (alcune cose le ho capite leggendo i file, ma
vorrei entrare più nel particolare).

La differenza tra sviluppo e produzione si articola su diversi punti. Inoltre
con l'adozione di uwsgi le possibilità
sono ancora più numerose.

1) Sviluppo.

La macchina di sviluppo di norma utlizza un DB configurato in maniera diversa
da quello di produzione.
In particolare per postgres puoi vedere sulla documentazione come configurarlo,
assegnare memoria, processi e
via dicendo.
Inoltre in sviluppo si utilizza un server che si autoricarica ogni volta che il
codice cambia
mentre in produzione, di norma, si procede ad un ricaricamento 'gentile' che
non butti fuori
gli utenti e comunque non automatico ma a precisa richiesta dell'amministratore
di sistema.

Altra grossa differenza è che istanze e siti sul server di produzione NON
stanno nel progetto
ma in .gnr/environment si definiscono le directory dove possono essere.

Altra differenza è il fatto che il debug sia abilitato o meno.

Poi, come server, in produzione possiamo usare apache con mod_wsgi ed esiste
uno script gnrmkapachesite che si occupa di preparare la configurazione.
Di norma si definisce un numero massimo di processi e di thread per processo.
Inoltre si può configurare quante chiamate debba servire un processo prima di
suicidarsi.
Questo si fa se si teme che ci possano essere cose che 'gonfiano' la memoria.
Non è una cosa indispensabile ma male non fa.

Se invece si usa in produzione uwsgi, suggerisco di usare 'emperor' che è un
processo
che gestisce altri processi 'vassal'. Su questo Roberto de Ioris che magari gli
legge
è autorità suprema :)


Poi si può anche usare nginx e uwsgi sotto nginx.

Ultima possibilità è quella di usare docker o altri sistemi basati su container.
Abbiamo fatto delle prove ma non è che siamo molto esperti ;)


Ciao


G

Other related posts:

  • » [genropy] Re: [genropy] Curiosità su installazione - Giovanni Porcari