J'ai commencé à héberger des sites il y a quelque temps en utilisant Cherokee. Pour les sources externes (FastCGI, etc.), il a une option pour lancer le processus s'il ne peut pas en trouver un en cours d'exécution sur le socket ou le port désigné. C'est génial car cela signifie que si PHP ou un site Django tombe (comme ils le font parfois), il le redémarre automatiquement.
Sur un nouveau serveur utilisant PHP-FPM, je ne pouvais pas utiliser Cherokee (il y a un bug avec PHP) donc je suis passé à NGINX. J'aime vraiment NGINX (pour son style de configuration) mais j'ai de sérieux problèmes avec les processus qui tombent et ne réapparaissent jamais. PHP le fait parfois mais les sites Django posent plus de problèmes. J'ai créé des scripts d'initialisation pour eux et ils apparaissent au démarrage, mais cela ne m'aide pas s'ils se dérobent entre les redémarrages.
Je suppose que je recherche un proxy FastCGI. Quelque chose qui, comme Cherokee, sait quels processus doivent être exécutés sur quels sockets / ports et les réapparaît à la demande. Une telle chose existe-t-elle? Existe-t-il un moyen d'intégrer cela dans NGINX (pour faciliter la configuration)?
/etc/init.d/apachectl
. Vous devez souvent réécrire votre propre script de démarrage simple à utiliserexec
. Bien que j'aimerais voir d'autres exemples en utilisant daemontools