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

So richten Sie einen LEMP-Server unter Debian 10 Buster ein

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

Softwareanforderungen und Linux-Befehlszeilenkonventionen
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.


Debian
  1. Anleitung zum Installieren und Einrichten von PHP und Nginx (LEMP) unter Debian 11

  2. So richten Sie einen SFTP-Server auf Debian 11 Server ein

  3. So installieren Sie MySQL Server auf Debian 10 Buster

  4. So installieren Sie Zabbix auf Debian 9

  5. So installieren Sie den LEMP-Stack auf Debian 10 Buster

So richten Sie einen Minecraft-Server unter Debian 10 ein

So installieren Sie Nginx, MariaDB, PHP (LEMP-Stack) unter Debian 9

So installieren Sie Nginx, MariaDB, PHP (LEMP Stack) unter Debian 11

So installieren Sie den LEMP-Stack auf Debian 10 Buster Server/Desktop

So installieren Sie einen Debian 10 (Buster) Minimalserver

So installieren Sie den LEMP-Server unter CentOS 8