J'ai commencé à héberger des sites il y a quelque temps en utilisant Cherokee. Pour les sources externes (FastCGI, etc.), il a la possibilité de lancer le processus s'il n'en trouve pas un en cours d'exécution sur le socket ou le port désigné. C'est très bien 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 bogue 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 sont plus problématiques. J'ai créé des scripts d'initialisation pour eux et ils apparaissent au démarrage, mais cela ne m'aide pas s'ils s'effondrent entre les redémarrages.
Je suppose que je cherche 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. Est-ce qu'une telle chose existe? Existe-t-il un moyen de l'intégrer à NGINX (pour faciliter la configuration) ?
Réponse acceptée :
Qu'en est-il de daemontools et plus particulièrement de l'outil de supervision
supervise surveille un service. Il démarre le service et redémarre le service s'il meurt. La configuration d'un nouveau service est simple :tout ce dont Supervise a besoin est un répertoire avec un script d'exécution qui exécute le service.