PHP-FPM (FastCGI Process Manager) ist eine alternative Implementierung von PHP FastCGI. Es bietet einige zusätzliche Funktionen wie adaptives Prozess-Spawning, das für Websites nützlich ist. Dieses Tutorial hilft Ihnen bei der Installation von Apache mit PHP-FPM/FastCGI auf einem Ubuntu 16.04-System. In diesem Tutorial verwenden wir PHP 7.2 und konfigurieren mit Apache unter Verwendung von PHP-FPM und FastCGI.
- Installieren Sie Apache mit PHP und FastCGI auf CentOS/RHEL
Sie können auch das vorherige Tutorial besuchen, um Apache mit mehreren PHP-Versionen mit PHP-FPM/FastCGI auf Ubuntu-Systemen zu konfigurieren.
Apache-Installation
Installieren Sie den Apache-Webserver aus dem offiziellen Repository. Starten Sie das Terminal auf Ihrem System oder melden Sie sich mit ssh bei entfernten Systemen an. Führen Sie die folgenden Befehle aus, um die neueste verfügbare Version des Apache-Webservers und des FastCGI-Moduls zu installieren.
sudo apt update sudo apt install apache2 libapache2-mod-fastcgi
PHP-Installation
Für die Installation von PHP-Versionen verwenden wir das hier gepflegte PPA. Verwenden Sie die folgenden Befehle, um den PPA zu Ihrem System hinzuzufügen.
sudo apt install python-software-properties sudo add-apt-repository ppa:ondrej/php
Und installieren Sie PHP 7.2, die neueste Version, die am Tag der Erstellung dieses Tutorials verfügbar war. Führen Sie einfach die folgenden Befehle zur Installation von PHP- und PHP-FPM-Paketen aus.
Hinweis:- Wenn Sie PHP-FPM verwenden. Alle PHP-Modulkonfigurationen befinden sich im Verzeichnis /etc/php/7.2/fpm. Sie können mehr über das Aktivieren/Deaktivieren von PHP-Modulen lesen.apt update sudo apt install php7.2 php7.2-fpm
Nach der Installation der obigen Pakete wird der Dienst php7.2-fpm automatisch gestartet. Sie können sich vergewissern, indem Sie den folgenden Befehl auf dem Terminal eingeben.
sudo systemctl status php7.2-fpm ● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabl Active: active (running) since Wed 2018-02-21 10:13:28 UTC; 17s ago Docs: man:php-fpm7.2(8) Main PID: 27506 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" CGroup: /system.slice/php7.2-fpm.service ├─27506 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─27509 php-fpm: pool www └─27510 php-fpm: pool www Feb 21 10:13:28 tecadmin systemd[1]: Starting The PHP 7.2 FastCGI Process Manager... Feb 21 10:13:28 tecadmin systemd[1]: Started The PHP 7.2 FastCGI Process Manager.
Apache-Konfiguration
Aktivieren Sie jetzt einige Module, die für die Konfiguration mehrerer PHP-Versionen mit Apache erforderlich sind. Diese Module sind notwendig, um PHP FPM und FastCGI mit dem Apache-Server zu integrieren.
a2enmod actions fastcgi alias proxy_fcgi
Lassen Sie uns den Apache VirtualHost so konfigurieren, dass er mit FPM/FastCGI ausgeführt wird. Für dieses Tutorial verwenden wir den standardmäßigen VirtualHost. Bearbeiten Sie die Konfigurationsdatei des VirtualHost-Hosts im Texteditor. Sie können gemäß Ihren Anforderungen einen neuen VirtualHost erstellen, stellen Sie also sicher, dass Sie jeden neuen VirtualHost aktivieren.
sudo vim /etc/apache2/sites-available/000-default.conf
Aktualisieren Sie die Konfiguration wie folgt.
Apache
12345678910111213141516171819202122 |
Speichern Sie Ihre Änderungen in der Konfigurationsdatei und starten Sie Apache neu, um die Änderungen neu zu laden.
sudo systemctl restart apache2
Setup testen
Erstellen Sie ein PHP-Skript mit phpinfo() Funktion und legen Sie es in Ihrem Server-Dokumentenstammverzeichnis ab. Verwenden Sie dazu den folgenden Befehl.
echo " <?php phpinfo(); ?> " > /var/www/html/info.php
Öffnen Sie einen Webbrowser und greifen Sie mit der Server-IP-Adresse (für den Standard-VirtualHost) für Ihre konfigurierte Domäne in Apache VirtualHost auf die info.php zu.