Tente definir a variável env:
PHP_FCGI_CHILDREN=0
no seu script php starter.
O mod_fcgid cuidará de gerar todos os processos necessários. Portanto, nenhuma criança é realmente necessária e essa é a que geralmente é deixada para trás.
Eu recentemente mudei para Apache2 / mod_fcgid / PHP de nginx / php_fpm. Este é o segundo servidor no qual fiz esta migração, mas é usado com muito menos frequência do que o primeiro, que funciona como um encanto.
O problema está nos processos do PHP que estão gerando. Ao olhar para a documentação do mod_fcgid , parece que o padrão para matar processos inativos é de 300 segundos; Eu mudei isso para 20. Neste ponto, eu ficaria bem se 300 funcionasse - mas isso não está acontecendo. Está em execução há quase um dia e o status do servidor mostra 12 processos ativos:
Process name: php5 Pid Active Idle Accesses State 19243 84879 14420 11 Ready Process name: php5 Pid Active Idle Accesses State 20954 82143 149 22 Ready 20947 82149 149 22 Ready 20953 82143 149 13 Ready Process name: php5 Pid Active Idle Accesses State 20589 82765 23644 72 Ready Process name: php5 Pid Active Idle Accesses State 17663 86103 2034 117 Ready Process name: php5 Pid Active Idle Accesses State 19862 83961 1976 91 Ready Process name: php5 Pid Active Idle Accesses State 18495 85825 5164 18 Ready Process name: php5 Pid Active Idle Accesses State 25463 75109 23948 24 Ready Process name: php5 Pid Active Idle Accesses State 2466 60019 60016 2 Ready Process name: php5 Pid Active Idle Accesses State 20729 82541 12592 23 Ready Process name: php5 Pid Active Idle Accesses State 22135 80616 46361 6 Ready
As aplicações PHP não estão sendo servidas neste momento - o Apache está retornando um 503. No entanto, ele ainda está servindo ao módulo de status do servidor, e os aplicativos mod_mono / Mono 2.10 ainda estão sendo atendidos. O problema é com o PHP.
/etc/apache2/mods-available/fcgid.conf ...
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
FcgidConnectTimeout 10
FcgidMaxRequestsPerProcess 500
FcgidIdleTimeout 20
FcgidFixPathinfo 1
FcgidMaxProcesses 10
</IfModule>
(heh - Max Processes também não está sendo respeitado ...) É claro que o fcgid.conf é "smylinked" em mods-enabled.
Tente definir a variável env:
PHP_FCGI_CHILDREN=0
no seu script php starter.
O mod_fcgid cuidará de gerar todos os processos necessários. Portanto, nenhuma criança é realmente necessária e essa é a que geralmente é deixada para trás.
Tags apache-2.2 php5 mod-fcgid