Website-Suche

So installieren Sie LEMP (Linux, Nginx, MariaDB, PHP-FPM) auf Debian 9 Stretch


Da Debian einen großen Prozentsatz der Webserver auf der ganzen Welt betreibt, erklären wir in diesem Artikel, wie man LEMP (Linux + Nginx) installiert + MariaDB + PHP-FPM)-Stack auf Debian 9 Stretch als Alternative zu LAMP (verwenden Sie diese Anleitung dazu). LAMP unter Debian 9 installieren).

Darüber hinaus zeigen wir, wie man eine minimale Nginx/PHP-FPM-Konfiguration durchführt, sodass auch neue Systemadministratoren völlig neue Webserver einrichten können, um dynamische Seiten einzurichten.

Zu diesem Zweck werden wir die jüngsten Aktualisierungen der offiziellen Repositories der Distribution nutzen. Es wird davon ausgegangen, dass Sie Debian 9 auf einem Bare-Metal, einer virtuellen Maschine oder einem VPS installiert oder ein Upgrade von Jessie durchgeführt haben.

LEMP in Debian 9 Stretch installieren

Sie fragen sich vielleicht, warum wir PHP-FPM anstelle von PHP als Teil des LEMP-Stacks erwähnt haben. Im Gegensatz zu anderen Webservern bietet Nginx keine native Unterstützung für PHP.

Aus diesem Grund wird PHP-FPM (Fast Process Manager) zur Bearbeitung von Anfragen für PHP-Seiten verwendet. Weitere Informationen zu PHP-FPM finden Sie auf der offiziellen PHP-Website.

Die in den Debian-Repositories bereitgestellte Standardversion php7.0-fpm. Wie Sie anhand des Paketnamens wahrscheinlich erraten können, kann diese Version sogar Anfragen an Seiten verarbeiten, die PHP 7-Code enthalten.

HINWEIS: Wenn Apache zuvor in derselben Box installiert wurde, stellen Sie sicher, dass es gestoppt und deaktiviert ist, bevor Sie fortfahren.

Nachdem dies gesagt ist, installieren wir die Komponenten des LEMP-Stacks wie folgt:

aptitude update 
aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

Wenn die Installation abgeschlossen ist, stellen wir zunächst sicher, dass Nginx und PHP-FPM ausgeführt werden und für den Start beim Booten aktiviert sind:

systemctl status nginx php7.0-fpm

Wenn angezeigt wird, dass einer oder beide Dienste nicht ausgeführt werden, dann tun Sie dies.

systemctl start nginx php7.0-fpm
systemctl enable nginx php7.0-fpm

Wie bei jeder MariaDB- oder MySQL-Installation ist es wichtig, mysql_secure_installation auszuführen, um eine minimale Sicherheitskonfiguration durchzuführen und das Passwort festzulegen das Datenbank-Root-Konto.

mysql_secure_installation

Wenn Sie nicht wissen, wie das geht, können Sie Schritt #4 unter „So installieren Sie MariaDB 10 unter Debian und Ubuntu“ lesen.

Konfigurieren von Nginx für die Verwendung von PHP-FPM unter Debian 9

Die Nginx-Hauptkonfigurationsdatei ist /etc/nginx/sites-available/default, wo wir die folgenden Änderungen im Serverblock vornehmen müssen:

  • Stellen Sie sicher, dass der location-Block, der PHP-Anfragen verarbeitet, aktiviert ist, mit Ausnahme des Blocks, bei dem die fastcgi_pass-Direktive auf die Loopback-NIC verweist.
  • Fügen Sie index.php nach der index-Direktive hinzu, um anzugeben, dass sie, wenn sie gefunden wird, standardmäßig vor index.html oder anderen Dateien bereitgestellt werden soll.
  • Fügen Sie die Anweisung server_name hinzu, die auf die IP-Adresse oder den Hostnamen Ihres Servers verweist. In unserem Fall ist dies 192.168.0.35.
  • Stellen Sie außerdem sicher, dass die root-Direktive auf den Speicherort verweist, an dem Ihre .php-Dateien gespeichert werden (standardmäßig /var/www/html). .

Wenn Sie fertig sind, können Sie den folgenden Befehl verwenden, um die Konfigurationsdatei auf Fehler zu testen.

nginx -t 

Zu diesem Zeitpunkt sollte Ihr /etc/nginx/sites-available/default wie folgt aussehen, wobei sich die Zahlen auf die Konfiguration beziehen und die obige Liste darstellen:

grep -Ev '#' /etc/nginx/sites-available/default

Testen von Nginx und PHP-FPM unter Debian 9

Um sicherzustellen, dass wir jetzt Nginx als unseren Webserver verwenden, erstellen wir eine Datei mit dem Namen info.php in /var/www/html mit folgende Inhalte:

<?php
	phpinfo();
?>

Gehen Sie dann zu http://192.168.0.35/info.php und schauen Sie oben auf der Seite nach, wo Sie Folgendes sehen sollten:

Lassen Sie uns abschließend unseren Browser auf die Datei booksandauthors.php verweisen, die wir in Install LAMP (Linux, Apache, MariaDB oder MySQL und PHP) Stack unter Debian 9 erstellt haben.

Wie Sie im folgenden Bild sehen können, wird diese Datei jetzt von Nginx bereitgestellt:

HINWEIS: Wenn Sie bemerken, dass Nginx die .php-Dateien als Downloads bereitstellt, anstatt sie auszuführen, leeren Sie Ihren Browser-Cache oder versuchen Sie es mit einem anderen Browser . Insbesondere wenn Sie Chrome verwenden, möchten Sie möglicherweise den Inkognito-Modus testen.

Zusammenfassung

In diesem Artikel haben wir erklärt, wie man Nginx installiert und konfiguriert, um dynamische .php-Seiten bereitzustellen. Es ist wichtig zu beachten, dass es nach dieser Ersteinrichtung Einstellungen gibt, die zur Absicherung des Webservers berücksichtigt werden sollten.

Eine grundlegende Zusammenfassung finden Sie möglicherweise im „The Ultimate Guide to Secure, Harden and Improve Performance of Nginx Web Server“.

Wenn Sie nach virtuellem Hosting auf Nginx suchen, lesen Sie So richten Sie namensbasierte und IP-basierte virtuelle Hosts auf NGINX ein.

Zögern Sie wie immer nicht, uns mitzuteilen, wenn Sie Fragen oder Kommentare zu diesem Artikel haben.