LEMP ist eine hervorragende Alternative zu herkömmlichen LAMP-Servern. Nginx ist in manchen Situationen leichter und schneller als Apache. Es kann auch so konfiguriert werden, dass es andere nützliche Dinge tut, z. B. als Reverse-Proxy dient. Genau wie LAMP ist Debian eine hervorragende Plattform für LEMP-Server. Alles, was Sie brauchen, ist in den Debian-Repositories verfügbar, sodass Sie ganz einfach loslegen können.
In diesem Tutorial lernen Sie:
- So richten Sie MariaDB ein
- So installieren Sie PHP
- So installieren Sie Nginx
- So konfigurieren Sie Nginx
- So testen Sie Ihren Server
PHPinfo auf LEMP auf Debian 10.
Softwareanforderungen und verwendete Konventionen
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | Debian 10 Buster |
Software | Nginx, MariaDB und PHP |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
MariaDB einrichten
Der beste Ausgangspunkt für die Einrichtung Ihres LEMP-Servers ist die Datenbank. Für diesen Leitfaden dient MaraiDB als Datenbank. Da es sich um einen direkten Ersatz für MySQL handelt, ist MariaDB eine hervorragende Option. Bevor Sie MariaDB für eines Ihrer Projekte verwenden können, müssen Sie es konfigurieren. Es braucht nicht viel, um eine App wie WordPress zum Laufen zu bringen, also wird es nicht lange dauern.
Installieren Sie MariaDB
Beginnen Sie damit, den MariaDB-Server tatsächlich zu installieren.
$ sudo apt install mariadb-server
Datenbank einrichten
Wenn MariaDB installiert ist, können Sie Ihre Datenbank für die Arbeit mit Web-Apps vorbereiten. MariaDB hat ein Skript, das Ihnen hilft, Ihren Datenbankserver automatisch zu sichern, also beginnen Sie damit, es auszuführen.
$ sudo mysql_secure_installation
Befolgen Sie die Anweisungen im Skript. Richten Sie ein Root-Passwort ein, wenn Sie dazu aufgefordert werden. Die Standardeinstellungen sind gut für alles andere.
Melden Sie sich jetzt mit mysql
bei MariaDB an Befehl und Angabe des root
Benutzer.
# mysql -u root -p
Erstellen Sie eine Datenbank für Ihr Projekt.
CREATE DATABASE newdb;
Erstellen Sie als Nächstes einen Benutzer, der eine Verbindung zur Datenbank herstellt und diese verwaltet.
CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';
Dieser Benutzer benötigt die volle Kontrolle über die Datenbank, um eine Webanwendung ausführen zu können. Gewähren Sie ihm alle Berechtigungen für die Datenbank und ihre Tabellen.
GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost';
Alles ist eingerichtet und einsatzbereit. Bereinigen Sie Ihre Berechtigungen und beenden Sie MariaDB.
FLUSH PRIVILEGES; \q
Installieren Sie PHP
PHP ist das nächste Puzzleteil. Sie benötigen nicht das gesamte PHP-Paket von Debian, sondern nur PHP-FPM. Installieren Sie es mit dem MySQL-Modul.
$ sudo apt install php-fpm php-mysql
Installieren Sie Nginx
Fast alles ist vorhanden. Sie müssen nur den Webserver Nginx einrichten. Installieren Sie zunächst Nginx aus den Debian-Repositories auf Ihrem System.
$ sudo apt install nginx
Nginx konfigurieren
Nginx ist ein leistungsstarker Webserver und bietet eine Menge Optionen. Das bedeutet auch, dass viel Konfiguration erforderlich ist, damit es genau so läuft, wie Sie es möchten. Dieser Leitfaden vermittelt Ihnen ein grundlegendes Arbeitssetup, aber Sie können mit Nginx noch viel mehr tun.
Nginx-Site-Konfigurationen werden in /etc/nginx/sites-available
gespeichert und verlinkt mit /etc/nginx/sites-enabled
. Erstellen Sie eine neue Datei für die Konfiguration Ihres Servers in /etc/nginx/sites-available
, und öffnen Sie es in Ihrem Texteditor.
Erstellen Sie zunächst einen Serverblock, um Nginx mitzuteilen, dass dies eine neue Site-Konfiguration ist.
server { }
Der Rest Ihrer Konfiguration wird in diesen Block gehen. Fügen Sie als Nächstes die Abhöradressen hinzu. Dies sind die Portnummern, gefolgt von wichtigen Attributen Ihrer Website. Wenn dies Ihre einzige oder Standard-Site sein soll, fügen Sie default_server
hinzu nach der Portnummer.
server { listen 80 default_server; listen [::]:80 default_server; }
Fügen Sie den Web-Root-Ordner hinzu, in dem Sie Ihre Website ablegen möchten. /var/www/html
ist die übliche Voreinstellung. Folgen Sie dem, indem Sie Nginx den Namen des Indexes Ihrer Website mitteilen, besser bekannt als Startseite.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; }
Fügen Sie nun den Domainnamen Ihrer Website als server_name
hinzu . Wenn dies nur ein lokaler Server ist, verwenden Sie _
anstelle einer Domain.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; }
Dieser nächste Konfigurationsblock weist Nginx an, nach Dateien zu suchen, die mit der aktuellen Webadresse übereinstimmen.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; location / { try_files $uri $uri/ =404; } }Nginx-Konfiguration für LEMP unter Debian 10.
Schließlich weist dieser letzte Block Nginx an, PHP-Dateien an PHP-FPM weiterzugeben. Dort wird der Großteil der Arbeit erledigt.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; } }
Wenn Sie fertig sind, speichern Sie Ihre Konfiguration und beenden Sie. Verknüpfen Sie es jetzt mit sites-enabled
.
$ sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/your-site
Starten Sie dann den Server neu, um die Site zu aktivieren.
$ sudo systemctl restart nginx
Testen Sie Ihren Server
Der einfachste Weg, um sicherzustellen, dass Ihr Server richtig funktioniert, besteht darin, eine neue PHP-Datei in Ihrem Webstammverzeichnis zu erstellen, um PHP-Code auszuführen. Erstellen Sie index.php
unter /var/www/html/
, und öffnen Sie es mit Ihrem Texteditor. Fügen Sie die folgende Codezeile in die Datei ein und speichern Sie sie.
<?php phpinfo(); ?>
Öffnen Sie Ihren Browser und navigieren Sie zu Ihrem Server. Sie sollten eine Tabelle mit PHP-Informationen zu Ihrem Server sehen. Wenn ja, funktioniert Ihr Server normal und ist bereit für Ihre PHP-Anwendung wie WordPress.
Schlussfolgerung
Von dort aus können Sie so ziemlich alles tun. Die Serverkonfiguration bleibt bestehen und alles sollte funktionsfähig bleiben, es sei denn, Sie ändern es. Sie können auch mehrere weitere Sites mit ähnlichen Konfigurationen zu demselben Nginx-Server hinzufügen. Ändern Sie einfach den server_name
um auf eine andere Domain zu verweisen.