ich auch das gleiche Problem über einem Jahr immer wieder dann habe ich viele Dinge ausprobiert, und in den letzten ich habe einen Teil der Hit and Run Dinge nach Dokumentation Lesen und mein Problem getan ist weg. Zunächst werden die wichtigen Dinge erforderlich eingestellt werden als:
FcgidBusyTimeout 300 [default]
FcgidBusyScanInterval 120 [default]
Der Zweck dieser Richtlinie ist gehangen Anwendungen beenden. Das Standardzeitlimit muss möglicherweise für Anwendungen erhöht werden, die länger dauern können, um die Anforderung zu verarbeiten. Da die Überprüfung in dem Intervall von FcgidBusyScanInterval
, Anforderungshandhabungs definiert durchgeführt wird, kann für eine längere Zeitperiode
FcgidProcessLifeTime 3600 [default]
Idle Anwendungsprozesse ablaufen lassen, die für mehr als diese Zeit wird beendet existiert haben, wenn die Zahl von Prozessen für die Klasse übersteigt FcgidMinProcessesPerClass
.
Diese Prozesslebensdauerprüfung wird mit der Frequenz FcgidIdleScanInterval
durchgeführt.
FcgidZombieScanInterval 3 [seconds default]
Das Modul prüft in diesem Intervall auf beendete FastCGI-Anwendungen. Während dieser Zeit kann die Anwendung in der Prozesstabelle als Zombie (unter Unix) existieren.
Hinweis: Alle oben genannten Optionen Verringern oder erhöhen Sie entsprechend Ihrer Anwendung Prozesszeit oder Bedürfnisse oder gelten für bestimmte vhost.
aber mein Problem lösen, indem Sie diese Option:
Above Optionen haben meinen Server gezwickt, aber nach einiger Zeit die Fehler scheinen wieder comming aber der Fehler wirklich durch dieses Problem zu beheben:
FcgidOutputBufferSize 65536 [default]
I zu ändern habe es
FcgidOutputBufferSize 0
Dies ist die maximale Menge an Antwortdaten das Modul aus dem FastC lesen GI-Anwendung, bevor die Daten an den Client gesendet werden. Dadurch werden die Daten sofort gelöscht und warten nicht mehr auf 64 KB an Bytes, was mir hilft, den Prozess schneller zu spülen.
Andere Probleme habe ich
wenn 500 Fehler von Nginx Ablaufen kommt. Das Update:
/etc/nginx/nginx.conf
keepalive_timeout 125;
proxy_read_timeout 125;
proxy_connect_timeout 125;
fastcgi_read_timeout 125;
Intermittently würde ich die MySQL-Fehler "MySQL Server verschwunden ist" get, die eine mehr zwicken erforderlich: /etc/my.conf
wait_timeout = 120
Dann, gerade für funsies, ich ging voran und mein PHP-Speicherlimit upped, nur für den Fall: /etc/php. ini
memory_limit = 256M
Mit SuExec
mod_fastcgi
gar nicht unter SuExec
auf Apache 2.x
arbeiten. Ich hatte nichts als Ärger (es hatte auch viele andere Probleme in unseren Tests). Die eigentliche Ursache für Ihr Problem ist SuExec
In meinem Fall war das ein Startup für mich, ich starte Apache, mod_fcgid spawns genau 5 Prozesse für jeden vhost. Wenn nun ein einfaches Upload-Skript verwendet wird und eine Datei größer als 4-8KB übergeben wird, werden alle diese untergeordneten Prozesse gleichzeitig für den spezifischen vhost beendet, auf dem das Skript ausgeführt wurde.
Es könnte möglich sein, Debug-Build oder Hochfahren Anmeldung mod_fcgid, die einen Hinweis geben könnte.
Ich habe mod_fastcgi in der Zwischenzeit seit 1 Jahr ausprobiert und auch ich kann mit vielen anderen sagen, dass SuExec nichts als störend ist und in jedem Fall gar nicht flüssig läuft.
Sie möchten den gelöschten Scheck aus @ Vineet1982 Antwort entfernen. Der wahre Grund kann auf dem Blog von Avian nachgelesen werden: https: // www.tablix.org/~avian/blog/archives/2016/05/on_ap_pass_brigade_failed/ – aefxx