Apache und Nginx sind kostenlos, Open Source und beliebt – die am weitesten verbreiteten Webserver auf der ganzen Welt. Apache und Nginx laufen beide auf allen Unix-basierten Betriebssystemen. Apache ist bekannt für seine Leistungsfähigkeit, während Nginx für seine Geschwindigkeit bekannt ist. Nginx wird auch als Reverse-Proxy für HTTP, HTTPS, IMAP, SMTP, POP3 und als Load Balancer verwendet.
PHP-FPM (FastCGI Process Manager) ist eine alternative PHP-FastCGI-Implementierung, die speziell für hochbelastete Websites entwickelt wurde. Mit PHP-FPM können Sie mehrere Versionen von PHP gleichzeitig ausführen. PHP-FPM kann auf einem Webserver anders ausgeführt werden als mod_PHP. Wenn Sie Ihre Webanwendung mit optimaler Leistung hosten möchten, ist PHP-FPM die beste Wahl für Sie.
In diesem Tutorial erklären wir, wie Sie die PHP-FPM-Unterstützung auf Apache- und Nginx-Webservern auf einem Ubuntu 18.04-Server aktivieren.
Voraussetzungen
- Ein frisches Ubuntu 18.04 VPS auf der Atlantic.Net Cloud Platform.
- Ein gültiger Domänenname, der auf Ihre VPS-IP-Adresse verweist.
Schritt 1 – Atlantic.Net Cloud Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 18.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – Aktivieren Sie die PHP-FPM-Unterstützung auf dem Apache-Webserver
In diesem Abschnitt erfahren Sie, wie Sie die PHP-FPM-Unterstützung auf dem Apache-Webserver installieren und aktivieren.
Installieren Sie Apache und PHP-FPM
Installieren Sie zuerst Apache und PHP-FPM, indem Sie den folgenden Befehl ausführen:
apt-get install apache2 libapache2-mod-php libapache2-mod-fcgid php php-fpm php-cli -y
Sobald alle Pakete installiert sind, starten Sie den Apache- und PHP-FPM-Dienst mit dem folgenden Befehl:
systemctl start apache2 systemctl start php7.2-fpm
Apache mit PHP-FPM-Unterstützung konfigurieren
Als nächstes müssen Sie den Apache-Webserver mit PHP-FPM-Unterstützung konfigurieren. Erstellen Sie dazu eine neue Konfigurationsdatei für den virtuellen Apache-Host:
nano /etc/apache2/sites-available/example.com.conf
Fügen Sie die folgenden Zeilen hinzu:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/ DirectoryIndex info.php ServerName example.com <Directory /var/www/html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> <FilesMatch \.php$> # 2.4.10+ can proxy to unix socket SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost" </FilesMatch> ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost>
Speichern und schließen Sie die Datei. Aktivieren Sie dann die Konfigurationsdatei des virtuellen Hosts mit dem folgenden Befehl:
a2ensite example.com
Als Nächstes müssen Sie einige Module aktivieren, damit Apache2 mit PHP-FPM funktioniert:
a2enmod actions fcgid alias proxy_fcgi
Starten Sie als Nächstes den Apache-Dienst mit dem folgenden Befehl neu:
systemctl restart apache2
Schritt 3 – Apache-Webserver testen
Der Apache-Webserver ist jetzt mit PHP-FPM-Unterstützung konfiguriert. Es ist an der Zeit zu testen, ob PHP-FPM mit dem Apache-Webserver geladen ist oder nicht.
Erstellen Sie zum Testen eine info.php-Beispieldatei im Stammverzeichnis des Apache-Dokuments:
nano /var/www/html/info.php
Fügen Sie die folgenden Zeilen hinzu:
<?php phpinfo(); ?>
Speichern und schließen Sie die Datei und ändern Sie dann den Eigentümer der Datei info.php in www-data:
chown www-data:www-data /var/www/html/info.php
Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie die URL http://example.com ein . Sie sollten die folgende Seite sehen:
Die obige Seite zeigt an, dass PHP-FPM mit dem Apache-Webserver geladen wird.
Hinweis: Vergessen Sie nicht, die Datei info.php nach dem Testen zu entfernen.
Schritt 4 – Aktivieren Sie die PHP-FPM-Unterstützung auf dem Nginx-Webserver
In diesem Abschnitt erfahren Sie, wie Sie die PHP-FPM-Unterstützung auf dem Nginx-Webserver installieren und aktivieren.
Schritt 5 – Nginx und PHP-FPM installieren
Installieren Sie zuerst Nginx und PHP-FPM, indem Sie den folgenden Befehl ausführen:
apt-get install nginx php php-fpm php-cli -y
Sobald alle Pakete installiert sind, starten Sie Nginx und den PHP-FPM-Dienst mit dem folgenden Befehl:
systemctl start nginx systemctl start php7.2-fpm
Schritt 6 – Nginx mit PHP-FPM-Unterstützung konfigurieren
Als nächstes müssen Sie den Nginx-Webserver mit PHP-FPM-Unterstützung konfigurieren. Erstellen Sie dazu eine neue Konfigurationsdatei für den virtuellen Nginx-Host:
nano /etc/nginx/sites-available/example.com.conf
Fügen Sie die folgenden Zeilen hinzu:
server { listen 80; root /var/www/html/; index info.php; server_name example.com; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; } location / { try_files $uri $uri/ =404; } } Save and close the file. Then, enable the Nginx virtual host with the following command:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Starten Sie als Nächstes den Nginx- und PHP-FPM-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl restart nginx systemctl restart php7.2-fpm
Schritt 7 – Nginx-Webserver testen
Der Nginx-Webserver ist jetzt mit PHP-FPM-Unterstützung konfiguriert. Es ist an der Zeit zu testen, ob PHP-FPM mit dem Nginx-Webserver geladen ist oder nicht.
Erstellen Sie zum Testen eine info.php-Beispieldatei im Stammverzeichnis des Nginx-Dokuments:
nano /var/www/html/info.php
Fügen Sie die folgenden Zeilen hinzu:
<?php phpinfo(); ?>
Speichern und schließen Sie die Datei und ändern Sie dann den Eigentümer der Datei info.php in www-data:
chown www-data:www-data /var/www/html/info.php
Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie die URL http://example.com ein . Sie sollten die folgende Seite sehen:
Die obige Seite zeigt an, dass PHP-FPM mit dem Nginx-Webserver geladen wird.
Hinweis: Vergessen Sie nicht, die Datei info.php nach dem Testen zu entfernen.
Schlussfolgerung
Herzliche Glückwünsche! Sie haben den Nginx- und Apache-Webserver erfolgreich mit PHP-FPM-Unterstützung konfiguriert. Ich hoffe, Sie haben jetzt genug Wissen, um mit PHP-FPM mehrere Versionen von PHP gleichzeitig auszuführen. Um mit PHP-FPM auf Apache und Nginx zu beginnen, melden Sie sich noch heute für einen VPS-Hosting-Plan bei Atlantic.Net an.