Comecei a hospedar sites há algum tempo usando o Cherokee. Para fontes externas (FastCGI, etc), há uma opção para iniciar o processo se não encontrar uma em execução no soquete ou porta designada. Isso é ótimo porque significa que se o PHP ou um site Django cair (como ocasionalmente acontece), ele será reiniciado automaticamente.
Em um novo servidor usando PHP-FPM, eu não poderia usar o Cherokee (ele possui um bug no PHP), então mudei para o NGINX. Eu realmente gosto do NGINX (por seu estilo de configuração), mas estou tendo sérios problemas com processos em queda e nunca reaparecendo. O PHP faz isso algumas vezes, mas os sites Django são mais um problema. Eu criei scripts init para eles e eles aparecem na inicialização, mas isso não me ajuda se eles aparecerem entre as reinicializações.
Acho que estou procurando um proxy FastCGI. Algo que, como o Cherokee, sabe quais processos devem estar em execução em quais soquetes / portas e os repassa sob demanda. Será que tal coisa existe? Existe alguma maneira de criar isso no NGINX (para facilitar a configuração)?
/etc/init.d/apachectl
esse. Você geralmente precisa reescrever seu próprio script de inicialização simples para usarexec
. Embora eu gostaria de ver mais alguns exemplos usando daemontools