Ho iniziato a ospitare siti tempo fa usando Cherokee. Per le fonti esterne (FastCGI, ecc.) Ha un'opzione per avviare il processo se non riesce a trovarne uno in esecuzione sul socket o sulla porta designati. Questo è fantastico perché significa che se PHP o un sito Django cade (come accade occasionalmente) lo riavvia automaticamente.
Su un nuovo server che utilizza PHP-FPM non potevo usare Cherokee (ha un bug con PHP), quindi sono passato a NGINX. Mi piace molto NGINX (per il suo stile di configurazione) ma sto riscontrando seri problemi con i processi che cadono e non si rigenerano mai. PHP lo fa a volte, ma i siti Django sono più un problema. Ho creato script di inizializzazione per loro e vengono visualizzati all'avvio, ma questo non mi aiuta se si rompono tra i riavvii.
Immagino di stare cercando un proxy FastCGI. Qualcosa che, come Cherokee, sa quali processi dovrebbero essere in esecuzione su quali socket/porte e li rigenera su richiesta. Esiste una cosa del genere? C'è un modo per integrarlo in NGINX (per facilità di configurazione)?
Risposta accettata:
Che ne dici di daemontools e in particolare dello strumento di supervisione
supervisionare monitora un servizio. Avvia il servizio e riavvia il servizio se si interrompe. Configurare un nuovo servizio è facile:tutto ciò che serve per la supervisione è una directory con uno script di esecuzione che esegue il servizio.