Verwendung von mod_fcgid anstelle von mod_php

Verwendung von mod_fcgid anstelle von mod_php

Was muss ich alles tun, um mod_fcgid anstelle von mod_php unter Ubuntu und CentOS zu verwenden? Was sind die Hauptvorteile und Unterschiede zwischen den beiden

Antwort1

mod_php:

  • etwas schneller als mod_fcgid
  • läuft unter dem httpd-Prozess
  • Zugriff auf die Apache-API haben ( de.php.net/manual/en/ref.apache.php )
  • schlecht für Shared Hosting, da alle Domains unter dem gleichen Benutzer laufen

mod_fcgid:

  • Skripte werden unter dem gewünschten Benutzer ausgeführt (gut für Shared Hosting)
  • verbesserte Sicherheit
  • kann mehr als nur PHP ausführen
  • Sie können mehrere PHP-Versionen ausführen, z. B. PHP4, PHP5, PHP5.1, PHP5.2, PHP 5.3

Antwort2

Auf meiner Shared-Hosting-Plattform verwende ich FastCGI, um PHP auszuführen, anstatt es direkt aufzurufen. PHP wird dort standardmäßig über CGI ausgeführt und nicht als Modul. Für mich war es also nur eine Frage des Hinzufügens des Folgenden zu meiner .htaccessDatei:

 AddHandler application/myphp .php
 Action application/myphp /cgi-bin/myphp.fcgi

Als nächstes musste ich das myphp.fcgiSkript in meinem cgi-bin-Verzeichnis erstellen, das Folgendes enthielt:

#!/bin/sh

# This ensures PHP doesn't try to run it's own
# process manager.
export PHP_FCGI_CHILDREN=0

# Replace this shell image with a PHP
# image.
exec /path/to/php -c /path/to/my/php.ini

Dies läuft bei mir einwandfrei und meine Hosting-Umgebung wird in einem Cluster aus fast einem Dutzend Servern hinter einem Hardware-Load Balancer ausgeführt.

Antwort3

cgi = jede Anfrage startet einen Prozess und gibt die Ergebnisse an den Client zurück. fcgi = die Anwendung (z. B. Ruby/Django) oder der Interpreter (PHP) läuft weiter und der Webserver leitet Anfragen weiter und erhält Antworten davon.

FastCGI ist fast immer schneller (für Sachen, die es unterstützen), aber einige sehr alte Sachen (z. B. Nagios) benötigen CGI. Der einzige wirkliche Vorteil von CGI ist, dass CGI-Anwendungen, wenn es keine Verkehrsskripte gibt, keinen Speicher verwenden. Normalerweise ist der Webserver jedoch intelligent genug, FastCGI-Anwendungen zu schließen, die für einige Zeit nicht verwendet werden, also ist das kein wirklicher Vorteil.

verwandte Informationen