Ich habe endlich ein nettes Tutorial gefunden, das genau darauf ausgelegt ist. Ich werde die Schritte skizzieren, die ich unternommen habe, da ich meinen LAMP-Stack bereits installiert habe, aber das vollständige Tutorial finden Sie hier .
Hinweis für den neuen:
Im Tutorial beginnt der Wechsel zum Root-Benutzer mit:
sudo su
In meinem Fall habe ich diesen Befehlen lediglich ein Präfix vorangestellt, sudo
anstatt die Benutzer zu wechseln, sodass ich meine Schritte auf diese Weise dokumentiere.
Start
Schritt eins: Installieren Sie das Apache Worker MPM (Multi-Procesing Modules)
sudo apt-get install apache2-mpm-worker
Dies ersetzt den von mir installierten Prefork, der der Standard bei der Installation von Apache ist.
Schritt 2: Installieren Sie PHP5 und die erforderlichen Module
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
An dieser Stelle kann ein Fehler bei der Installation von 'libapache2-mod-fastcgi' auftreten:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libapache2-mod-fastcgi is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source
E: Package 'libapache2-mod-fastcgi' has no installation candidate
Dieser Teil ist nicht im obigen Tutorial enthalten
Um dies multiverse
abzustimmen, muss das Repository den apt-Quellen hinzugefügt werden.
Um dies zu tun:
sudo nano /etc/apt/sources.list
Daran habe ich folgende Zeilen angehängt:
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb http://security.ubuntu.com/ubuntu precise-security multiverse
precise
in diesem Fall bezieht sich auf meine Version von Ubuntu " Precise Pangolin ".
Speichern Sie nun die Änderungen und kehren Sie zum Terminal zurück:
sudo apt-get update
und wieder:
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
was wird (sollte) jetzt funktionieren.
Aktivieren Sie nun diese Apache-Module:
sudo a2enmod actions fastcgi alias
starte Apache neu
sudo service apache2 restart
Schritt 3: Apache-Konfiguration
Damit Apache mit PHP-FPM funktioniert, benötigen wir die folgende Konfiguration:
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
#directory statement mult be on multiple lines
</IfModule>
Hinweis:
Wenn Sie eine ältere Version von Apache (2.3.x oder älter) verwenden, lassen Sie die Zeile weg
<Directory /usr/lib/cgi-bin> Require all granted </Directory>
Sie können Ihre installierte Version mit dem Befehl überprüfen
apache2 -version
Sie können es in die globale Apache-Konfiguration einfügen (damit es für alle vhosts aktiviert ist), z. B. in /etc/apache2/conf.d/php5-fpm.conf
(diese Datei ist nicht vorhanden, Sie müssen sie also erstellen), oder Sie können es in jeden vhost einfügen, der PHP-FPM verwenden soll.
Ich entscheide mich für den globalen Weg, also:
sudo nano /etc/apache2/conf.d/php5-fpm.conf
Fügen Sie den obigen Codeblock ein, und speichern Sie den Vorgang. Beenden Sie den Vorgang. Diese neue Datei wird automatisch von der Standardkonfiguration von Apache geladen, die alle Dateien im /etc/apache2/conf.d/
Verzeichnis lädt .
starte Apache neu:
sudo service apache2 restart
Erstellen Sie nun die folgende PHP-Datei im Dokumentenstamm /var/www
:
sudo nano /var/www/info.php
Hinzufügen:
<?php phpinfo();
sicherer Ausgang.
Jetzt rufen wir diese Datei in einem Browser auf (zB http://your-server-ip/info.php
)
Unter Server API sollten Sie oben sehen FPM/FastCGI
.
Erfolg!
Weitere Informationen, wie Sie PHP-FPM so ändern, dass anstelle des Standard-TCP-Ports ein Unix-Socket verwendet wird, oder wie Sie dies für einzelne virtuelle Hosts anstatt für alle konfigurieren, finden Sie im oben verlinkten Quellentutorial.