Unterschied zwischen FastCgiExternalServer und FastCgiServer in Apache FastCGI PHP?

8

Lassen Sie mich einfach sagen, dass ich neu bei FastCGI bin. Ich habe MAMPs Apache auf meinem OS X-Rechner. Der Standard-PHP-Handler war Apache Handler 2.0 (libphp5.so). Ich wollte zu FastCGI wechseln und folgte der Antwort hier: Wie konfiguriert Apache, um PHP als FastCGI auf Ubuntu 12.04 über Terminal zu betreiben?

Ich habe am Ende meiner httpd.conf Folgendes hinzugefügt:

%Vor%

Wie Sie jedoch sehen können, ist FastCgiExternalServer auskommentiert. Stattdessen musste ich FastCgiServer cause verwenden, da Apache mir beim Versuch, eine Seite anzufordern, folgende Fehler gab:

  

[Fr May 06 23:25:22 2016] [Fehler] [Client :: 1] (2) Keine solche Datei oder Verzeichnis: FastCGI: Verbindung zum Server konnte nicht hergestellt werden "/ Anwendungen / MAMP / fcgi-bin / php5 .fcgi ": connect () fehlgeschlagen

     

[Fr May 06 23:25:22 2016] [Fehler] [Client :: 1] FastCGI: unvollständige Header (0 Bytes) vom Server empfangen "/Applications/MAMP/fcgi-bin/php5.fcgi"

Aber /Applications/MAMP/fcgi-bin/php5.fcgi existiert und sein Inhalt ist:

%Vor%

Was ist der Unterschied zwischen FastCgiServer und FastCgiExternalServer und warum FastCgiExternalServer hat in meinem Fall nicht funktioniert, aber FastCgiServer hat funktioniert?

    
tonix 06.05.2016, 22:00
quelle

2 Antworten

8

FastCgiServer ist ein Server, auf dem mod_fastcgi die Prozessverwaltung für - das Hoch- und Herunterschalten von Instanzen und das Aufgeben eines Unix-Domain-Sockets zum Abhören übernimmt. Zum Starten des fastcgi-Servers ist keine externe Aktion erforderlich.

FastCgiExternalServer ist ein Server, für den mod_fastcgi KEIN Prozess-Management übernimmt - er greift nur auf den Unix- oder TCP-Socket zu, von dem aus er angewiesen wird, Anfragen / Antworten zu verwenden und weiterzuleiten. Sie oder ein anderer Daemon außerhalb von httpd müssen etwas starten, um den angegebenen Socket abhören zu können. Der einfachste Weg ist das Dienstprogramm "fcgistarter", andere Optionen sind Dinge wie php-fpm.

    
covener 06.07.2016, 13:26
quelle
1

Wenn Leistung Grund ist, würde ich Apache mit fcgid verwenden. Dies wird für die Leistung als besser angesehen. Um mit der Leistung umzugehen, startet mod_fcgid mehrere Instanzen von CGI-Programmen, um gleichzeitige Anfragen zu bearbeiten. Dies ist eine Alternative zu mod_php für PHP-Entwickler, die eine höhere Leistung bietet. Dieser Artikel, den ich gefunden habe, ist eine großartige Ressource zum Lernen

Ссылка

    
Atul Jindal 11.07.2016 19:07
quelle

Tags und Links