php unter mod_fcgid und suexec-custom

tsk

Member
Moin in die Runde,

Ich bin damit beschäftigt, die Installation eines neuen, privat genutzten vServers vorzubereiten (Ubuntu 14.04). Vor Anmietung des live Servers virtualisiere ich mir ein entsprechendes Umfeld per KVM, und richte diesen Server exakt so ein, wie den späteren Live Server. Bei jedem LTS-Release Sprung (seit 10.04) bemühe ich mich, Dinge besser zu machen. Der Server soll im Endausbau 4-5 einfache php Anwendungen (Kategorie Wordpress) bedienen, sowie eine Management Subdomain (ssl- only, Basic Auth) für kritische Dinge, wie phpmyadmin, postfixadmin und ähnliches. Zur finalen Absicherung gegen Missbrauch (und auch zur Resourcenoptimierung) fahre ich die Management Subdomain nur hoch, wenn sie benötigt wird.

Dies läuft bereits alles. Wie bei jeder neuen Serverinstallation habe ich Tage mit der Doku zu mod_fcgid verbracht, sowie mit den zahllosen Tutorials, die zu diesem Theme existieren. Viele dieser Tutorials klingen stringent, vernünftig und passend - und widersprechen diametral anderen, die auch logisch klingen. Manche sind total daneben, und am Ende steht man da, und begreift gar nix mehr. Die Doku zu mod_fcgid klingt zwar sehr bemüht, bietet aber keinen einzigen nachvollziehbaren Use-Case. Soll heißen, sie ist miserabel.

Zu meinen Fragen:
1) Direktiven für mod_fcgid können teils serverweit, per vhost oder per Directory gesetzt werden. Inklusive Mischformen (in Tutorials passiert dies grundsätzlich serverweit). Meine Management Sudomain benötigt markant längere Scriptlaufzeiten und zu transferierende Datenmengen, als die "normalen" WP Domains. Setzt man in diesem Fall die maximalen Grenzwerte in der Server Config, und überschreibt diese in einzelnen Vhosts? Oder setzt man z.B. "FcgidBusyTimeout" Directive gar nicht in der Server Config, sondern ausschließlich in der VHost Config? Die Doku schweigt sich dazu völlig aus. Die Frage ist: What rules? ServerConfig -> Vhost -> Directory oder gar andersrum?

2) Die Default Settings von mod_fcgid sind teils abenteuerlich (z.B. FcgidMaxProcesses = 1000). Wordpress benötigt ca. 48 MB pro Prozess/User. Existiert irgend eine Formel, mit der ich mir sinnvolle Fcgid-Direktiven erarbeiten kann? Z.B. für 2 Cores und 6 GB. RAM?

3) FcgidMinProcessesPerClass: In manchen Tutorials steht "MUST always be 0", in anderen "SHOULD always be 0", in wieder anderen steht, der Default von 3 ist prima.

Von meinem Verständnis her würde das Vorhalten eines Prozesses auf einer WP Domain Sinn machen, denn das Starten kostet Zeit und Resourcen. Dies wäre mir bei phpmyadmin egal, denn nur ich warte dann. Zudem: Eine Direkive, die IMMER Null sein sollte/muss, wäre sinnlos. Weiß hier jemand mehr dazu?

4) Monitoring der aktuell genutzten Fcgid Direktiven: phpinfo zeigt mir zwar vieles an, aber leider nicht die derzeit genutzten Fcgid-Settings. Gibt es eine Möglichkeit, diese per Domain anzeigen zu lassen?

Bin dankbar für alle Antworten, gerne auch nur zu Teilaspekten.

Grüße,

Thomas
 
Frage 4 kann ich jetzt selbst beantworten. Mit mod_info kann man nicht nur fcgid parameter auslesen, sondern auch andere interessante Dinge. Mit dem Modul sollte man wohl hochrestriktiv umgehen - oder besser - es nur für debugging einsetzen.
 
Mein Problem hat sich durch einen Wechsel zu php5-fpm, mod_proxy(_fcgi) erledigt. Im Vergleich zu mod_fcgid/suexec das pure Vergnügen. Abgesehen vom Apache 2.4.7 Bug mit Unix Sockets. Falls es hierfür Abhilfe gibt (ohne Fremdquellen zu nutzen), so wäre ich für Tipps dankbar.
 
Back
Top