GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So fügen Sie PHP-FPM-Unterstützung auf Apache und Nginx-Webserver auf Ubuntu 18.04 hinzu

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.


Linux
  1. So installieren Sie den Nginx-Webserver unter Ubuntu 18.04

  2. So entfernen Sie den Apache-Webserver von Ubuntu

  3. Wie behebt man die DROWN-Schwachstelle im Apache/NGINX-Webserver und SMTP?

  4. So installieren Sie den Apache-Webserver unter Ubuntu

  5. So installieren und konfigurieren Sie den Apache-Webserver unter Ubuntu 13.10

So installieren Sie Nginx unter Ubuntu 14.04

So installieren Sie Nginx, MySQL und PHP (LEMP) auf einem Ubuntu 15.04-Server

So fügen Sie einem Ubuntu-Server eine private IP hinzu

So installieren Sie NGINX unter Ubuntu 20.04

So installieren und konfigurieren Sie einen LAMP-Webserver unter Ubuntu 18.04

So installieren Sie NGINX als Reverse Proxy für Apache unter Ubuntu 18.04