Wie Installieren von lighttpd + PHP in FastCGI-Modus
Li ghttpd (http://www.lighttpd.net) ist eine Webserver-Daemon, die wir allgemein für Cluster-Einsatz. Lighttpd hat einen kleineren Speicher-Footprint im Vergleich zu Apache (http://httpd.apache.org), die ist weit verbreitet auf den meisten Produktions-Server auf der ganzen Welt. Die effiziente CPU-Management-Funktionen und hohe Geschwindigkeit aus lighttpd machen es zu einem bevorzugten Wahl für High-Traffic-Sites und-clustern. Wir bevorzugen Sie es, wie auch für unsere Cluster zusammen mit PHP läuft in FastCGI-Modus. Diese Kombination bietet einen atemberaubenden schnell Umwelt für die dynamische Bereitstellung von PHP-basierter Inhalte. Die folgenden, wie Sie zeigt Anweisungen zum Installieren von lighttpd + PHP in FastCGI-Modus.
![]()
![]()
Wir haben um zu überprüfen, ob hier einige Voraussetzungen, bevor Sie diese Installation. Ich werde sie aus Liste unten ein:
- MySQL-Server-Installation
- Openssl installiert
- Pcre und PCRE-devel Pakete installiert
Dies sind nur grundlegende Anforderungen und wenn brauchen Sie ein paar andere spezielle Module installiert diese kann sich ändern, wenn gut. Ich gehe davon aus das Betriebssystem für den Server wäre CentOS 5.x in diesem, wie man aber ich glaube, das, wie sollte für Fedora, CentOS und RHEL als gut. Sie können mit "yum" zu installieren, die oben genannten Anforderungen oder die Verwendung "up2date" auf RHEL. Können davon ausgehen, dass die Voraussetzungen sind bereits zufrieden, und wir werden mit der eigentlichen Installation. Wir machen ein temporäres Verzeichnis für die Installation so, dass wir können das Verzeichnis löschen, sobald die Installation erfolgreich ist.
usr / src / lighttpd_install mkdir / usr / src / lighttpd_install
Wir laden Sie sich die neueste lighttpd-Source-Datei von ihrem Standort und entpacken es.
usr / src / lighttpd_install cd / usr / src / lighttpd_install www.lighttpd.net / download / lighttpd-1.4.19.tar.gz wget http:// www.lighttpd.net / download / lighttpd-1.4.19.tar.gz tar xzf lighttpd-1.4.19.tar.gz cd lighttpd-1.4.19 = / usr . / Configure - prefix = / usr machen make install
Sobald lighttpd installiert ist, müssen wir kopieren Sie die init.d-Skript für lighttpd und auch die spawn-php.sh Skript nach / etc / init.d /. Diese spawn-php.sh werden, wo sie laichen php-fcgi Prozesse später, nachdem wir bauen PHP.
doc / rc.lighttpd.redhat / etc / init.d / lighttpd cp-av doc / rc.lighttpd.redhat / etc / init.d / lighttpd doc / spawn-php.sh / etc / init.d / spawn-php.sh cp-av doc / spawn-php.sh / etc / init.d / spawn-php.sh
Nun müssen wir aufbauen FastCGI auf dem Server.
www.fastcgi.com / dist / fcgi-2.4.0.tar.gz wget http:// www.fastcgi.com / dist / fcgi-2.4.0.tar.gz tar xvf fcgi-2.4.0.tar.gz cd fcgi-2.4.0 = / usr . / Configure - prefix = / usr machen make install
Php muss gebaut werden, nachdem Sie diesen Schritt. Sie können entweder PHP4 oder PHP5 nach Ihren Anforderungen entspricht. Sie benötigen zum Download der PHP-Quellen von der PHP-Website (http://www.php.net) in das Verzeichnis / usr / src / lighttpd_install, bevor Sie fortfahren mit dem nächsten Schritt. Wir werden mit PHP5 in diesem Fall und die PHP-Version verwendet für das Tutorial ist PHP 5.2.6. Sobald Sie heruntergeladen haben, die Quelle der Schritte wäre unten ein: Wenn Sie bereits ein-und Arbeitsbedingungen php Installation auf dem Server, können Sie die gleichen configure-Optionen für den Aufbau von PHP erneut. Der folgende Code-Snippet sollten Sie die bestehenden config Zeile ohne die Optionen brauchen wir für den Bau des
config | sed s / "'" / "" / g | sed s / "<.*> " / "" / g |\ php-i | grep config | sed s / " '" / "" / g | sed s / "<.*> "/" "/ g | \ "< \/ .*>" / "" / g | sed s / ".* => " / "" / g | sed s / "'" / "" / g |\ sed s / "<\ / .*>" / "" / g | sed s / ".* =>" / "" / g | sed s / " '" / "" / g | \ "--with-apxs=.*apxs " / "" / g | sed s / ". \/ configure " / "" / g |\ sed s / "- with-apxs =.* apxs" / "" / g | sed s / ". \ / configure" / "" / g | \ "--prefix= \/ usr \/ local " / "" / g | sed s / "--with-apxs2=.*apxs " / "" / g |\ sed s / "- prefix = \ / usr \ / local" / "" / g | sed s / "- with-apxs APXS2 =.*" / "" / g | \ ^tidy grep-v ^ tidy
Verwenden Sie diese Ausgabe von den oben genannten Befehl mit den Optionen, wie unter Ihrem configure-Kommando, um PHP als FastCGI
usr / local / php5-fcgi --enable-force-cgi-redirect\ - Prefix = / usr / local / php5-fcgi - enable-force-cgi-redirect \ - enable-FastCGI - enable-discard-path
Wenn Sie nicht über eine bestehende PHP-Installation, nur PHP mit welchen Optionen, die Sie brauchen, und den-enable-FastCGI Optionen wie oben beschrieben. Das Verfahren wäre unten ein:
usr / src / lighttpd_install cd / usr / src / lighttpd_install tar zxf php-5.2.6.tar.gz add options you need to add or use\ . / Configure --- (inklusive Optionen, die Sie hinzufügen müssen oder \ = / usr / local / php5-fcgi\ config die Zeile generiert von oben) \ - prefix = / usr / local / php5-fcgi \ - enable-force-cgi-redirect - enable-FastCGI - enable-discard-path machen make install
Wenn die Installation erfolgreich verläuft sollten Sie sollten sehen, php gebaut mit cgi-fcgi-Modus wie folgt. Bitte Knoten der PHP-Binär-Name könnte auch php-cgi.
server ~ ] # /usr/local/php5-fcgi/bin/php -v [Root @ server ~] # / usr/local/php5-fcgi/bin/php-v built: May 8 2008 02: 38 : 11 ) PHP 5.2.6 (cgi-fcgi) (Baujahr: 8. Mai 2008 02: 38: 11) 1997 - 2008 The PHP Group Copyright (c) 1997 - 2008 Die PHP-Fraktion 1998 - 2008 Zend Technologies Zend Engine v2.2.0, Copyright (c) 1998 - 2008 Zend Technologies 2004 - 2006 eAccelerator, by eAccelerator mit eAccelerator v0.9.5.2, Copyright (c) 2004 - 2006 eAccelerator, durch eAccelerator 2002 - 2007 , by ionCube Ltd., and mit dem IonCube PHP Loader v3.1.32, Copyright (c) 2002 - 2007, von IonCube Ltd, und 2003 - 2007 , by Zend Technologies mit Zend Extension Manager v1.2.2, Copyright (c) 2003 - 2007, von Zend Technologies 1998 - 2007 , by Zend Technologies mit Zend Optimizer v3.3.3, Copyright (c) 1998 - 2007, von Zend Technologies
Nach der erfolgreichen Gebäude lighttpd und PHP in FastCGI-Modus, seine jetzt mal zu konfigurieren ihnen zusammen zu arbeiten. In diesem Tutorial wir uns ein "single-site" Umwelt und so werden wir die Konfigurationsdateien werden. Wir werden das Hinzufügen einige mehr, wie man's bald die Anzeige der Konfigurationen, die Notwendigkeit zu tun, für Multi-Site-Umgebungen oder auch komplexe Setups wie Load-Balancing mit Apache und lighttpd zusammen.
etc / lighttpd mkdir / etc / lighttpd usr / src / lighttpd_install / lighttpd-1.4.19 cd / usr / src / lighttpd_install / lighttpd-1.4.19 doc / lighttpd.conf / etc / lighttpd / cp-v doc / lighttpd.conf / etc / lighttpd / etc / lighttpd / lighttpd.conf vi / etc / lighttpd / lighttpd.conf
Wir müssen sicherstellen, dass die folgenden Module sind nun aktiviert in der lighttpd.conf. Sie müssen nur werden unkommentiert.
- mod_rewrite
- mod_redirect
- 'mod_alias'
- mod_access
- mod_cml
- mod_auth
- mod_status
- mod_setenv
- mod_fastcgi
- mod_simple_vhost
- mod_cgi
- mod_ssi
- mod_accesslog
Ihr Server-Module Abschnitt der lighttpd.conf sollte aussehen, als unten nach der Änderung:
server.modules = ( "mod_rewrite", "mod_redirect", " 'mod_alias'", "mod_access", "mod_cml", "mod_auth", "mod_status", "mod_setenv", "mod_fastcgi", "mod_simple_vhost", "mod_cgi", "mod_ssi", "mod_accesslog")
Die anderen Optionen, die geändert werden müssen, sind:
server.document-root = "/ home / username / public_html" Das Dokument root kann sogar in / var / www / html oder einfach überall Sie wollen. Wir wählen / home / username / public_html für einfacher FTP-Zugriff auf den Speicherort für Updates.
server.errorlog = "/ home / username / logs / error.log" Ändern dieser Einstellung ist optional. Wenn Sie möchten, dass die Benutzer den Zugang zum Fehler-Log-und ändern Sie dann die oben genannten Option. Ansonsten kannst du die Einstellung wie sie ist. Just Stellen Sie sicher, dass Sie die Datei erstellt haben Ordner / var / log / lighttpd und chowned es dem Pseudonym Sie lighttpd und php als.
accesslog.filename = "/ home / username / logs / access.log" Auch diese Einstellung ist ebenfalls optional. Wenn Sie möchten, dass die Benutzer den Zugang zu den Log-Zugang und ändern Sie dann die oben genannten Option.
server.port = 80 Die Standard-Port ist 80. Wenn Sie testen möchten oder führen Sie Ihr lighttpd Installation auf einem Nicht-Standard-Port zu können, benötigen Sie, dies zu ändern.
server.bind = "xxx.xxx.xxx.xxx" Dies ist die IP-Adresse lighttpd hört auf. Standardmäßig hört es auf allen IP-Adressen. Wenn Sie wollen, dass es binded auf nur eine IP auf dem Server benötigen Sie diese Option angeben.
server.username = "username" server.groupname = "username"
Der Benutzername und Gruppe, die lighttpd läuft wie. Wir werden über den Server laufen in suexec-Modus, wenn wir diese Optionen. Dateien, die durch den Webserver werden in den Besitz der Benutzername sich.
= & gt; fastcgi.server = ( ". php" = & gt; = & gt; "127.0.0.1" , (( "Host" = & gt; "127.0.0.1", gt; 1026 , "Port" = & gt; 1026, gt; "/usr/local/php5-fcgi/bin/php" "bin-path" = & gt; "/ usr/local/php5-fcgi/bin/php" )) )
In dem obigen Abschnitt sind wir vorschreiben, wie PHP-Dateien behandelt werden. Die bin-Pfad wird sich ändern sowie den Hafen auf der Grundlage der Laich-php.sh-Skript, welches wir werden die Konfiguration nächsten. Nach all diesen Änderungen, die lighttpd.conf ist aller Konfigurationsdaten für den Einsatz, wenn Sie die Datei speichern. Wir werden nun konfigurieren, die spawn-php.sh-Skript, welches wir vorher kopiert nach / etc / init.d /
etc / init.d / cd / etc / init.d / vi spawn-php.sh
Die folgenden Optionen müssen bearbeitet werden, in diesem Skriptes:
SPAWNFCGI = "/ usr / bin / spawn-fcgi"
Der Pfad zu laichen-fcgi wird wie oben beschrieben, wie wir konfiguriert haben es mit / usr Präfix vor.
FCGIPROGRAM = "/ usr/local/php5-fcgi/bin/php"
Dieser Weg wäre der absolute Pfad zum PHP-Binär-fcgi. Bitte beachten Sie, es kann sein / usr/local/php5-fcgi/bin/php-cgi als gut.
FCGIPORT = "1026" FCGI_WEB_SERVER_ADDRS = "127.0.0.1"
Diese können allein gelassen, wie sie sind, es sei denn, Sie möchten eine andere IP-Port oder speziell.
USERID = username GROUPID = username
Die Benutzer-ID und groupid für das Skript wäre gleiche, die Sie verwendet haben, in der lighttpd.conf vor. Speichern Sie das Skript und dann chmod es auf 755 und führen Sie sie aus. Sie sollten etwas wie unten wie die Ausgabe:
spawn-fcgi.c.197: Kind hervorgebracht erfolgreich: PID: 10985 Jetzt ist es an der Zeit zu starten lighttpd. Stellen Sie sicher, dass die Protokolle lighttpd Ordner erstellt werden und der Benutzer Eigentümer richtig eingestellt sind. Sobald dies getan ist, können Sie lighttpd mit dem Befehl unten ein:
server ~ ] #/etc/init.d/lighttpd start [Root @ server ~] # / etc / init.d / lighttpd starten Ab lighttpd: [OK]
Überprüfen Sie den Status, um sicherzustellen, dass es läuft anders überprüfen Sie die Fehler-Log, wie sie in der config-Datei.
server ~ ] # /etc/init.d/lighttpd status [Root @ server ~] # / etc / init.d / lighttpd Status ) is running... lighttpd (pid 11210) läuft ...
Damit ist die Installation Schritte. Um zu testen, können Sie PHP-Upload ein phpinfo-Datei in das Dokument Root-Ordner. Eine Probe phpinfo.php hätte den Code wie:
Wenn Ihre Installation korrekt ausgeführt wird, sollten Sie die Server-API als CGI / FastCGI, da es zeigt, in das Bild unten.
Wenn Sie den oben, Sie haben eine erfolgreiche Installation von lighttpd und PHP läuft als FastCGI. Wir hoffen, dass Sie gerne, wie Sie diese, und es ist nützlich für die Einrichtung von High Performance lighttpd + php FastCGI Setups für Ihre Website.
Kommentare
3 Responses to "Wie Installieren von lighttpd + PHP in FastCGI-Modus"
Lassen Sie eine Antwort






















Awesome Tutorial. Ich mein eigenes Setup lighttpd und FastCGI Setup innerhalb von 30 Minuten mit diesem. Der Inhalt Lasten sehr schnell.
Danke. Diese, wie Sie half mir sehr
[...] Für die Verwaltung der Höhe der Verkehr dieser Website erhalten wurde. Jede der Webserver-Knoten-Setup wurde mit lighttpd + PHP als FastCGI für eine schnellere Website-Leistungsindex und dynamischen Seite [...]