One place for hosting & domains

      So installieren Sie Linux, Nginx, MySQL und PHP (LEMP-Stack) unter Ubuntu 20.04


      Einführung

      Der LEMP-Software-Stack ist eine Gruppe von Software, die zur Bereitstellung von dynamischen Webseiten und Webanwendungen verwendet werden kann, die in PHP geschrieben sind. Es handelt sich um ein Akronym, das ein Linux-Betriebssystem mit einem Nginx-Webserver (ausgesprochen wie „Engine-X“) beschreibt. Die Backend-Daten werden in einer MySQL-Datenbank gespeichert und die dynamische Verarbeitung wird mit PHP gehandhabt.

      Dieser Leitfaden zeigt, wie Sie einen LEMP-Stack auf einem Ubuntu 20.04-Server installieren. Das Ubuntu-Betriebssystem erfüllt die erste Anforderung. Wir beschreiben, wie Sie den Rest der Komponenten einrichten und ausführen.

      Voraussetzungen

      Um dieses Tutorial zu absolvieren, benötigen Sie Zugriff auf einen Ubuntu-20.04-Server als ein regulärer non-root sudo user und eine auf Ihrem Server aktivierte Firewall. Sie können zur Einrichtung unserem Leitfaden zur Ersteinrichtung eines Servers für Ubuntu 20.04 folgen.

      Schritt 1 — Installieren des Nginx-Webservers

      Um den Besuchern unserer Website die Webseiten anzuzeigen, stellen wir den leistungsfähigen Webserver Nginx zur Verfügung. Wir verwenden den apt-Paketmanager, um diese Software zu erlangen.

      Da wir apt für diese Sitzung zum ersten Mal verwenden, beginnen Sie mit der Aktualisierung des Paketindexes Ihres Servers. Danach können Sie apt install zum Installieren von Nginx verwenden:

      • sudo apt update
      • sudo apt install nginx

      Geben Sie bei der entsprechenden Aufforderung Y ein, um zu bestätigen, dass Sie Nginx installieren möchten. Sobald die Installation abgeschlossen ist, ist der Nginx-Webserver aktiv und wird auf Ihrem Ubuntu-20.04-Server ausgeführt.

      Wenn Sie die in unserem Leitfaden zur Ersteinrichtung eines Servers empfohlene ufw aktiviert haben, müssen Sie Verbindungen zu Nginx zulassen. Nginx registriert bei der Installation einige verschiedene UFW-Anwendungsprofile. Um zu prüfen, welche UFW-Profile verfügbar sind, führen Sie nun Folgendes aus:

      Output

      Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

      Es wird empfohlen, das restriktivste Profil zu aktivieren, das den von Ihnen benötigten Datenverkehr immer noch zulässt. Da Sie SSL für Ihren Server in diesem Leitfaden nicht konfiguriert haben, müssen Sie nur den regulären HTTP-Verkehr auf Port 80 zulassen.

      Aktivieren Sie dies durch die Eingabe von:

      • sudo ufw allow 'Nginx HTTP'

      Sie können die Änderung überprüfen, indem Sie Folgendes ausführen:

      Die Ausgabe des Befehls zeigt, dass der HTTP-Verkehr jetzt zugelassen wird:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

      Nachdem die neue Firewall-Regel hinzugefügt wurde, können Sie testen, ob der Server ausgeführt wird, indem Sie auf Ihren Domänennamen oder die öffentliche IP-Adresse Ihres Servers in Ihrem Webbrowser zugreifen.

      Wenn Sie keinen Domänennamen haben, der auf den Server verweist, und Sie die öffentliche IP-Adresse Ihres Servers nicht kennen, können Sie diese mit dem folgenden Befehl finden:

      • ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's//.*$//'

      Hierdurch erhalten Sie einige IP-Adressen. Sie können diese abwechselnd in Ihrem Webbrowser ausprobieren.

      Als Alternative können Sie prüfen, welche IP-Adresse von anderen Stellen im Internet aus erreichbar ist:

      Geben Sie die Adresse ein, die Sie in Ihrem Webbrowser erhalten, und Sie werden zur Standard-Startseite von Nginx weitergeleitet:

      http://server_domain_or_IP
      

      Nginx-Standardseite

      Wenn Sie diese Seite sehen können, haben Sie Nginx erfolgreich installiert und den HTTP-Verkehr für Ihren Webserver aktiviert.

      Schritt 2 — Installieren von MySQL

      Nachdem Sie nun einen funktionierenden Webserver eingerichtet haben, müssen Sie das Datenbanksystem installieren, um Daten für Ihre Website speichern und verwalten zu können. MySQL ist ein beliebtes Datenbankverwaltungssystem, das in PHP-Umgebungen verwendet wird.

      Verwenden Sie auch hier wieder apt zur Beschaffung und Installation der Software:

      • sudo apt install mysql-server

      Wenn Sie dazu aufgefordert werden, bestätigen Sie die Installation, indem Sie Y eingeben und dann ENTER drücken.

      Wenn die Installation abgeschlossen ist, wird empfohlen, ein Sicherheitsskript auszuführen, das in MySQL vorinstalliert ist. Dieses Skript entfernt einige unsichere Standardeinstellungen und sperrt den Zugriff auf Ihr Datenbanksystem. Starten Sie das interaktive Skript, indem Sie Folgendes ausführen:

      • sudo mysql_secure_installation

      Sie werden gefragt, ob Sie das VALIDATE PASSWORD PLUGIN konfigurieren möchten.

      Anmerkung: Die Aktivierung dieser Funktion bleibt Ihnen überlassen. Sollten Sie sie aktivieren, werden Passwörter, die nicht den angegebenen Kriterien entsprechen, als Fehler von MySQL abgelehnt. Sie können die Validierung deaktiviert lassen, aber sollten immer starke, eindeutige Passwörter für die Datenbankinformationen verwenden.

      Geben Sie Y für Ja oder etwas Anderes ein, um ohne Aktivierung weiterzumachen.

      VALIDATE PASSWORD PLUGIN can be used to test passwords
      and improve security. It checks the strength of password
      and allows the users to set only those passwords which are
      secure enough. Would you like to setup VALIDATE PASSWORD plugin?
      
      Press y|Y for Yes, any other key for No:
      

      Wenn Sie mit „ja“ antworten, werden Sie dazu aufgefordert, eine Stufe der Passwortvalidierung zu wählen. Denken Sie daran, dass die Auswahl von 2 als stärkste Validierungsstufe Fehler ergibt, wenn Sie ein Passwort ohne Zahlen, Buchstaben, Klein- oder Großbuchstaben und Sonderzeichen einrichten oder eines aus geläufigen Wörtern aus einem Wörterbuch.

      There are three levels of password validation policy:
      
      LOW    Length >= 8
      MEDIUM Length >= 8, numeric, mixed case, and special characters
      STRONG Length >= 8, numeric, mixed case, special characters and dictionary              file
      
      Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
      

      Unabhängig davon, ob Sie sich für die Einrichtung des VALIDATE PASSWORD PLUGIN entschieden haben, wird der Server Sie als Nächstes auffordern, ein Passwort für den MySQL root user zu wählen und zu bestätigen. Verwechseln Sie dies nicht mit dem Benutzer für system root. Der Datenbank-root user ist ein administrativer Benutzer mit vollen Berechtigungen über das Datenbank-System. Zwar entbindet die Standardauthentifizierungsmethode für den MySQL root user von der Verwendung eines Passworts, selbst wenn eines festgelegt ist, doch sollten Sie hier als zusätzliche Sicherheitsmaßnahme ein starkes Passwort definieren. Darüber werden wir gleich noch sprechen.

      Wenn Sie Passwortvalidierung aktiviert haben, wird Ihnen die Passwortstärke des soeben eingegebenen root-Passworts gezeigt und Sie werden gefragt, ob Sie das Passwort beibehalten möchten. Wenn Sie mit Ihrem aktuellen Passwort zufrieden sind, geben Sie in der Eingabeaufforderung Y für „ja“ ein:

      Estimated strength of the password: 100
      Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
      

      Drücken Sie bei den restlichen Fragen auf Y und bei jeder Eingabeaufforderung ENTER. Damit werden einige anonyme Benutzer und die Testdatenbank entfernt, ferngesteuerte root-Logins deaktiviert und diese neuen Regeln geladen, damit MySQL die Änderungen, die Sie gerade vorgenommen haben, unverzüglich anwendet.

      Wenn Sie damit fertig sind, testen Sie, ob Sie sich bei der MySQL-Konsole anmelden können, indem Sie Folgendes eingeben:

      Damit wird eine Verbindung zum MySQL-Server als administrativer Datenbank-Benutzer root hergestellt, was durch die Verwendung von sudo abgeleitet wird, wenn dieser Befehl ausgeführt wird. Sie sollten eine Ausgabe wie diese sehen:

      Output

      Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 22 Server version: 8.0.19-0ubuntu5 (Ubuntu) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql>

      Um die MySQL-Konsole zu beenden, geben Sie Folgendes ein:

      Beachten Sie, dass Sie kein Passwort angeben müssen, um als root user eine Verbindung herzustellen, obwohl Sie bei der Ausführung des Skripts mysql_secure_installation ein Passwort festgelegt haben. Das liegt daran, dass die standardmäßige Authentifizierungsmethode für den administrativen MySQL-Benutzer unix_socket ist und nicht password. Auch wenn dies zunächst wie ein Sicherheitsproblem aussieht, macht es den Datenbankserver sicherer, da sich nur die Systembenutzer mit sudo-Berechtigungen über die Konsole oder über eine Anwendung, die mit den gleichen Berechtigungen läuft, als root MySQL user anmelden dürfen. Praktisch bedeutet dies, dass Sie den administrativen Datenbank-root user nicht verwenden können, um sich von Ihrer PHP-Anwendung zu verbinden. Das Einrichten eines Passworts für das root-MySQL-Konto funktioniert als Schutz für den Fall, dass die Standardauthentifizierungsmethode von unix_socket in password geändert wird.

      Um die Sicherheit zu erhöhen, richten Sie am besten für jede Datenbank zugeordnete Benutzerkonten mit weniger expansiven Berechtigungen ein, insbesondere dann, wenn Sie mehrere Datenbanken auf Ihrem Server hosten möchten.

      Anmerkung: Zum Zeitpunkt der Verfassung dieses Dokuments unterstützt die native MySQL-PHP-Bibliothek mysqlnd keine caching_sha2_authentication, die standardmäßige Authentifizierungsmethode für MySQL 8. Wenn Sie Datenbankbenutzer für PHP-Anwendungen unter MySQL 8 erstellen, müssen Sie daher so konfigurieren, dass sie stattdessen mysql_native_password verwenden. In Schritt 6 zeigen wir, wie das geht.

      Ihr MySQL-Server ist nun installiert und gesichert. Als Nächstes installieren wir PHP, die letzte Komponente im LEMP-Stack.

      Schritt 3 — Installieren von PHP

      Sie haben Nginx installiert, um Ihre Inhalte bereitzustellen, und MySQL, um Ihre Daten zu speichern und zu verwalten. Jetzt können Sie PHP installieren, um Code zu verarbeiten und dynamische Inhalte für den Webserver zu generieren.

      Während Apache den PHP-Interpreter in jede Anfrage einbindet, benötigt Nginx ein externes Programm, das die PHP-Verarbeitung handhabt und als Brücke zwischen dem PHP-Interpreter selbst und dem Webserver fungiert. Dies ermöglicht eine bessere Gesamtleistung in den meisten PHP-basierten Websites, erfordert jedoch eine zusätzliche Konfiguration. Sie müssen php-fpm installieren, was für „PHP fastCGI-Prozessmanager“ steht, und Nginx anweisen, PHP-Anfragen zur Verarbeitung an diese Software zu übergeben. Außerdem benötigen Sie php-mysql, ein PHP-Modul, das PHP ermöglicht, mit MySQL-basierten Datenbanken zu kommunizieren. Core-PHP-Pakete werden automatisch als Abhängigkeiten installiert.

      Um die php-fpm– und php-mysql-Pakete zu installieren, führen Sie Folgendes aus:

      • sudo apt install php-fpm php-mysql

      Wenn Sie dazu aufgefordert werden, geben Sie Y und ENTER ein, um die Installation zu bestätigen.

      Sie haben nun Ihre PHP-Komponenten installiert. Als Nächstes konfigurieren Sie Nginx, um sie zu verwenden.

      Schritt 4 — Konfigurieren von Nginx zum Verwenden des PHP-Prozessors

      Bei Verwendung des Nginx-Webservers können wir Serverblocks (ähnlich wie virtuelle Hosts in Apache) erstellen, um Konfigurationsdetails einzuschließen und mehr als eine Domäne auf einem einzelnen Server zu hosten. In diesem Leitfaden verwenden wir your_domain als Beispielnamen für die Domäne. Um mehr über die Einrichtung eines Domänennamens mit DigitalOcean zu erfahren, lesen Sie unsere Einführung zu DigitalOcean DNS.

      Auf Ubuntu 20.04 hat Nginx einen Serverblock standardmäßig aktiviert und ist so konfiguriert, dass Dokumente aus einem Verzeichnis in /var/www/html bereitgestellt werden. Das eignet sich gut für eine Website, kann aber umständlich werden, wenn Sie mehrere hosten. Statt /var/www/html zu ändern, erstellen wir eine Verzeichnisstruktur innerhalb von /var/www für die Website your_domain und belassen dabei /var/www/html als Standardverzeichnis, das genutzt wird, wenn eine Clientanfrage keine übereinstimmenden Websites ergibt.

      Erstellen Sie das root-Webverzeichnis für your_domain wie folgt:

      • sudo mkdir /var/www/your_domain

      Als Nächstes weisen Sie die Eigentumsrechte des Verzeichnisses mit der Umgebungsvariablen $USER zu, die auf Ihren aktuellen Systembenutzer verweisen wird:

      • sudo chown -R $USER:$USER /var/www/your_domain

      Öffnen Sie dann mit Ihrem bevorzugten Befehlszeileneditor eine neue Konfigurationsdatei im Verzeichnis sites-available von Nginx. Wir verwenden hier nano:

      • sudo nano /etc/nginx/sites-available/your_domain

      Dadurch wird eine neue Leerdatei erstellt. Fügen Sie die folgende Basiskonfiguration ein:

      /etc/nginx/sites-available/your_domain

      server {
          listen 80;
          server_name your_domain www.your_domain;
          root /var/www/your_domain;
      
          index index.html index.htm index.php;
      
          location / {
              try_files $uri $uri/ =404;
          }
      
          location ~ .php$ {
              include snippets/fastcgi-php.conf;
              fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
           }
      
          location ~ /.ht {
              deny all;
          }
      
      }
      
      
      

      Hier eine Auflistung der Funktionen dieser Anweisungen und Location-Blocks:

      • listen — Hiermit wird definiert, auf welchem Port Nginx lauscht. In diesem Fall lauscht er auf Port 80, dem Standardport für HTTP.
      • root — Hiermit wird die Dokumentenroot definiert, in der die von der Website bereitgestellten Dateien gespeichert werden.
      • index — Hiermit wird die Reihenfolge definiert, in der Nginx die Indexdateien für die Website priorisiert. Es ist gängige Praxis, index.html-Dateien mit einer höheren Priorität als index.php-Dateien aufzulisten, um die schnelle Einrichtung einer Wartungsstartseite in PHP-Anwendungen zu ermöglichen. Sie können diese Einstellungen so anpassen, dass sie Ihren Anwendungsanforderungen entsprechen.
      • server_name — Hiermit wird definiert, auf welche Domänennamen und/oder IP-Adressen dieser Serverblock antworten soll. Verweisen Sie diese Anweisung auf den Domänennamen oder die öffentliche IP-Adresse Ihres Servers.
      • location / — Der erste Location-Block enthält eine Anweisung try_files, die überprüft, ob Dateien oder Verzeichnisse vorhanden sind, die einer URI-Anfrage entsprechen. Wenn Nginx die entsprechende Ressource nicht finden kann, wird der Fehler 404 ausgegeben.
      • location ~ .php$ — Dieser Location-Block handhabt die eigentliche PHP-Verarbeitung, indem er Nginx auf die Konfigurationsdatei fastcgi-php.conf und die Datei php7.4-fpm.sock verweist, wodurch deklariert wird, welche Socket mit php-fpm verknüpft ist.
      • location ~ /.ht — Der letzte Location-Block befasst sich mit .htaccess-Dateien, die Nginx nicht prozessiert. Durch Hinzufügen der Anweisung deny all werden .htaccess-Dateien, die ihren Weg in die Dokumentenroot finden, nicht für Besucher bereitgestellt.

      Wenn Sie mit der Bearbeitung fertig sind, speichern und schließen Sie die Datei. Wenn Sie nano verwenden, geben Sie hierfür STRG+X ein und dann y und ENTER zur Bestätigung.

      Aktivieren Sie Ihre Konfiguration, indem Sie eine Verknüpfung mit der Konfigurationsdatei aus dem sites-enabled-Verzeichnis von Nginx herstellen:

      • sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

      Dadurch wird Nginx angewiesen, die Konfiguration beim nächsten Neuladen zu verwenden. Sie können Ihre Konfiguration auf Syntaxfehler testen, indem Sie Folgendes eingeben:

      Wenn Fehler gemeldet werden, gehen Sie zurück zu Ihrer Konfigurationsdatei, um den Inhalt vor dem Fortfahren zu überprüfen.

      Wenn Sie fertig sind, laden Sie Nginx neu, um die Änderungen anzuwenden:

      • sudo systemctl reload nginx

      Ihre neue Website ist nun aktiv, aber die Web-root /var/www/your_domain ist immer noch leer. Erstellen Sie an diesem Ort eine index.html-Datei, um zu testen, ob Ihr neuer Serverblock wie erwartet funktioniert:

      • nano /var/www/your_domain/index.html

      Fügen Sie in dieser Datei folgende Inhalte ein:

      /var/www/your_domain/index.html

      <html>
        <head>
          <title>your_domain website</title>
        </head>
        <body>
          <h1>Hello World!</h1>
      
          <p>This is the landing page of <strong>your_domain</strong>.</p>
        </body>
      </html>
      

      Gehen Sie nun zu Ihrem Browser und greifen Sie auf den Domänennamen oder die IP-Adresse Ihres Servers zu, wie sie in der server_name-Anweisung in Ihrer Serverblock-Konfigurationsdatei aufgeführt sind:

      http://server_domain_or_IP
      

      Sie sehen in etwa folgende Seite:

      Nginx Serverblock

      Wenn Sie diese Seite sehen, bedeutet das, dass Ihr Nginx-Serverblock wie erwartet funktioniert.

      Sie können diese Datei als temporäre Startseite für Ihre Anwendung so lange belassen, bis Sie sie durch eine index.php-Datei ersetzen. Sobald Sie dies tun, vergessen Sie nicht, die Datei index.html aus Ihrem Dokument-root zu entfernen oder umzubenennen, da sie standardmäßig Vorrang gegenüber einer index.php-Datei erhalten würde.

      Ihr LEMP-Stack ist nun vollständig konfiguriert. Im nächsten Schritt erstellen wir ein PHP-Skript, um zu testen, ob Nginx tatsächlich in der Lage ist, .php-Dateien in Ihrer neu konfigurierten Website zu verarbeiten.

      Schritt 5 — Testen von PHP mit Nginx

      Ihr LEMP-Stack sollte nun vollständig eingerichtet sein. Sie können ihn testen, um zu bestätigen, dass Nginx .php-Dateien korrekt an Ihren PHP-Prozessor übergeben kann.

      Hierfür können Sie eine PHP-Testdatei in Ihrer Dokumentenroot erstellen. Öffnen Sie innerhalb Ihrer Dokumentenroot in Ihrem Texteditor eine neue Datei namens info.php:

      • nano /var/www/your_domain/info.php

      Schreiben oder fügen Sie die folgenden Zeilen in die neue Datei ein. Es handelt sich um einen gültigen PHP-Code, der Informationen über Ihren Server ausgibt:

      /var/www/your_domain/info.php

      <?php
      phpinfo();
      

      Wenn Sie fertig sind, speichern und schließen Sie die Datei durch Eingabe von STRG+X und dann y und ENTER zur Bestätigung.

      Sie können nun in Ihrem Webbrowser auf diese Seite zugreifen, indem Sie den Domänennamen oder die öffentliche IP-Adresse besuchen, die Sie in Ihrer Nginx-Konfigurationsdatei eingerichtet haben, gefolgt von /info.php:

      http://server_domain_or_IP/info.php
      

      Sie sehen dann eine Webseite, die detaillierte Informationen über Ihren Server enthält:

      PHPInfo Ubuntu 20.04

      Nachdem Sie über diese Seite die relevanten Informationen zu Ihrem PHP-Server überprüft haben, ist es am besten, die von Ihnen erstellte Datei zu entfernen, da sie sensible Informationen über Ihre PHP-Umgebung und Ihren Ubuntu-Server enthält. Sie können diese Datei mithilfe von rm entfernen:

      • sudo rm /var/www/your_domain/info.php

      Sie können diese Datei jederzeit regenerieren, falls Sie sie später benötigen.

      Schritt 6 — Testen der Datenbankverbindung von PHP (optional)

      Wenn Sie testen möchten, ob PHP eine Verbindung mit MySQL herstellen kann und Datenbankabfragen ausführt, können Sie eine Testtabelle mit Pseudodaten erstellen und die Inhalte mit einem PHP-Skript abfragen. Bevor wir das tun können, müssen wir eine Testdatenbank und einen neuen MySQL-Benutzer erstellen, der für den Zugriff richtig konfiguriert ist.

      Zum Zeitpunkt der Verfassung dieses Dokuments unterstützt die native MySQL-PHP-Bibliothek mysqlnd nicht caching_sha2_authentication, die standardmäßige Authentifizierungsmethode für MySQL 8. Wir müssen einen neuen Benutzer mit der Authentifizierungsmethode mysql_native_password erstellen, um über PHP eine Verbindung zur MySQL-Datenbank herzustellen.

      Wir erstellen eine Datenbank namens example_database und einen Benutzer namens example_user. Sie können diese Namen jedoch durch andere Werte ersetzen.

      Stellen Sie zuerst unter Verwendung des root-Kontos eine Verbindung zur MySQL-Konsole her:

      Um eine neue Datenbank zu erstellen, führen Sie den folgenden Befehl von Ihrer MySQL-Konsole aus:

      • CREATE DATABASE example_database;

      Jetzt können Sie einen neuen Benutzer erstellen und ihm volle Berechtigungen auf der benutzerdefinierten Datenbank gewähren, die Sie gerade erstellt haben:

      Der folgende Befehl erstellt einen neuen Benutzer namens example_user, wobei mysql_native_password als standardmäßige Authentifizierungsmethode verwendet wird. Wir definieren das Passwort dieses Benutzers als password, aber Sie sollten diesen Wert durch ein sicheres Passwort Ihrer Wahl ersetzen:

      • CREATE USER 'example_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

      Nun müssen wir diesem Benutzer eine Berechtigung für die Datenbank example_database erteilen:

      • GRANT ALL ON example_database.* TO 'example_user'@'%';

      Damit werden dem Benutzer example_user volle Berechtigungen über die example_database gewährt, während dieser Benutzer gleichzeitig daran gehindert wird, andere Datenbanken auf Ihrem Server zu erstellen oder zu ändern.

      Beenden Sie nun die MySQL-Shell mit:

      Sie können testen, ob der neue Benutzer die richtigen Berechtigungen hat, indem Sie sich erneut bei der MySQL-Konsole anmelden, diesmal mit den benutzerdefinierten Anmeldedaten:

      Beachten Sie das -p-Flag in diesem Befehl, das Sie nach dem Passwort fragt, das Sie bei der Erstellung des Benutzers example_user gewählt haben. Nach der Anmeldung bei der MySQL-Konsole bestätigen Sie, dass Sie Zugriff auf die Datenbank example_database haben:

      Damit erhalten Sie die folgende Ausgabe:

      Output

      +--------------------+ | Database | +--------------------+ | example_database | | information_schema | +--------------------+ 2 rows in set (0.000 sec)

      Als Nächstes erstellen wir eine Testtabelle namens todo_list. Führen Sie die folgende Anweisung in der MySQL-Konsole aus:

      • CREATE TABLE example_database.todo_list (
      • item_id INT AUTO_INCREMENT,
      • content VARCHAR(255),
      • PRIMARY KEY(item_id)
      • );

      Geben Sie einige Zeilen an Inhalt in die Testtabelle ein. Sie können den nächsten Befehl ein paar Mal wiederholen, indem Sie verschiedene Werte verwenden:

      • INSERT INTO example_database.todo_list (content) VALUES ("My first important item");

      Um zu bestätigen, dass die Daten erfolgreich in Ihrer Tabelle gespeichert wurden, führen Sie Folgendes aus:

      • SELECT * FROM example_database.todo_list;

      Sie sehen die folgende Ausgabe:

      Output

      +---------+--------------------------+ | item_id | content | +---------+--------------------------+ | 1 | My first important item | | 2 | My second important item | | 3 | My third important item | | 4 | and this one more thing | +---------+--------------------------+ 4 rows in set (0.000 sec)

      Nachdem Sie bestätigt haben, dass Sie gültige Daten in Ihrer Testtabelle haben, können Sie die MySQL-Konsole verlassen:

      Sie können nun das PHP-Skript erstellen, das sich mit MySQL verbindet, und Ihre Inhalte abfragen. Erstellen Sie mit Ihrem bevorzugten Editor eine neue PHP-Datei in Ihrem benutzerdefinierten Web-Stammverzeichnis. Verwenden Sie hierzu nano:

      • nano /var/www/your_domain/todo_list.php

      Das folgende PHP-Skript verbindet sich mit der MySQL-Datenbank und den Abfragen für den Inhalt der Tabelle todo_list, wobei die Ergebnisse in einer Liste angezeigt werden. Wenn ein Problem mit der Datenbankverbindung besteht, wird eine Ausnahme ausgegeben. Kopieren Sie diesen Inhalt in Ihr todo_list.php-Skript:

      /var/www/your_domain/todo_list.php

      <?php
      $user = "example_user";
      $password = "password";
      $database = "example_database";
      $table = "todo_list";
      
      try {
        $db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
        echo "<h2>TODO</h2><ol>";
        foreach($db->query("SELECT content FROM $table") as $row) {
          echo "<li>" . $row['content'] . "</li>";
        }
        echo "</ol>";
      } catch (PDOException $e) {
          print "Error!: " . $e->getMessage() . "<br/>";
          die();
      }
      

      Speichern und schließen Sie die Datei, wenn die Bearbeitung abgeschlossen ist.

      Sie können diese Seite nun in Ihrem Webbrowser aufrufen, indem Sie den Domänennamen oder die öffentliche IP-Adresse für Ihre Website besuchen, gefolgt von /todo_list.php:

      http://server_domain_or_IP/todo_list.php
      

      Sie sollten nun eine Seite ähnlich wie diese sehen, die den Inhalt anzeigt, den Sie in Ihre Testtabelle eingefügt haben:

      Beispiel PHP To-Do-List

      Das bedeutet, dass Ihre PHP-Umgebung zur Verfügung steht, um mit Ihrem MySQL-Server zu interagieren.

      Zusammenfassung

      In diesem Leitfaden haben wir eine flexible Basis für die Bereitstellung von PHP-Websites und Anwendungen für Ihre Besucher eingerichtet, wobei Nginx als Webserver und MySQL als Datenbanksystem dienen.

      Von hier aus können Sie nun verschiedene weitere Schritte ausführen. Sie sollten beispielsweise sicherstellen, dass Verbindungen zu Ihrem Server gesichert sind. Zu diesem Zweck könnten Sie Ihre Nginx-Installation mit Let’s Encrypt sichern. Wenn Sie diesem Leitfaden folgen, erwerben Sie ein kostenloses TLS/SSL-Zertifikat für Ihren Server, mit dem er Inhalte über HTTPS bereitstellen kann.



      Source link

      Comment installer Nginx sur Ubuntu 20.04 [Démarrage rapide]


      Introduction

      Nginx est l’un des serveurs web les plus populaires au monde et se charge de l’hébergement de certains des sites les plus importants et les plus fréquentés sur Internet. Il est plus respectueux des ressources qu’Apache dans la plupart des cas, et peut être utilisé comme serveur web ou proxy inverse.

      Dans ce guide, nous vous expliquerons comment installer Nginx sur votre serveur Ubuntu 20.04. Pour une version plus détaillée de ce tutoriel, veuillez vous référer à Comment installer Nginx sur Ubuntu 20.04.

      Conditions préalables

      Avant de commencer ce guide, vous devez avoir un utilisateur non root ordinaire avec des privilèges sudo configurés sur votre serveur. Vous pouvez apprendre à configurer un compte utilisateur normal en suivant notre guide de configuration initiale de serveur pour Ubuntu 20.04.

      Lorsque vous avez un compte disponible, connectez-vous en tant qu’utilisateur non root pour commencer.

      Étape 1 – Installation de Nginx

      Étant donné que Nginx est disponible dans les référentiels par défaut d’Ubuntu, vous pouvez l’installer en utilisant le système de packaging apt.

      Mettez à jour votre index local des packages :

      Installez Nginx :

      Étape 2 – Réglage du pare-feu

      Si vous avez suivi le tutoriel de configuration préalable du serveur, alors le pare-feu UFW est activé. Vérifiez les profils d’application ufw disponibles avec la commande suivante :

      Output

      Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

      Activons le profil le plus restrictif qui permettra toujours le trafic que vous avez configuré, en autorisant le trafic sur le port 80 :

      • sudo ufw allow 'Nginx HTTP'

      Vérifiez le changement :

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

      Étape 3 – Vérification de votre serveur Web

      Vérifiez avec le système systemd init pour vous assurer que le service fonctionne en tapant :

      Output

      nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:> Active: active (running) since Mon 2020-05-04 22:45:26 UTC; 1min 17s ago Docs: man:nginx(8) Main PID: 13255 (nginx) Tasks: 2 (limit: 1137) Memory: 4.6M CGroup: /system.slice/nginx.service ├─13255 nginx: master process /usr/sbin/nginx -g daemon on; master> └─13256 nginx: worker process

      Accédez à la page d’accueil par défaut de Nginx pour confirmer que le logiciel fonctionne correctement grâce à votre adresse IP :

      http://your_server_ip
      

      Vous devriez obtenir la page d’accueil par défaut de Nginx :

      Page par défaut de Nginx

      Étape 4 – Mise en place des blocs serveur (Recommandé)

      Avec le serveur Web Nginx, vous pouvez utiliser des blocs de serveur (similaires aux hôtes virtuels dans Apache) pour encapsuler les détails de configuration et héberger plusieurs domaines à partir d’un seul serveur. Nous allons configurer un domaine appelé your_domain, mais vous devez le remplacer par le nom propre à votre domaine. Pour en savoir plus sur la configuration d’un nom de domaine avec DigitalOcean, veuillez vous reporter à notre Introduction au DNS DigitalOcean.

      Créez le répertoire pour your_domain, en utilisant l’indicateur -p pour créer tout répertoire parent nécessaire :

      • sudo mkdir -p /var/www/your_domain/html

      Attribuez la propriété du répertoire :

      • sudo chown -R $USER:$USER /var/www/your_domain/html

      Les autorisations de vos racines web devraient être correctes si vous n’avez pas modifié votre valeur umask, mais vous pouvez vous en assurer en tapant :

      • sudo chmod -R 755 /var/www/your_domain

      Créez un exemple de page index.html en utilisant nano ou votre éditeur préféré :

      • nano /var/www/your_domain/html/index.html

      À l’intérieur, ajoutez l’exemple de HTML suivant :

      /var/www/your_domain/html/index.html

      <html>
          <head>
              <title>Welcome to your_domain!</title>
          </head>
          <body>
              <h1>Success!  The your_domain server block is working!</h1>
          </body>
      </html>
      

      Enregistrez et fermez le fichier lorsque vous avez terminé.

      Créer un nouveau bloc serveur à /etc/nginx/sites-available/your_domain :

      • sudo nano /etc/nginx/sites-available/your_domain

      Collez dans le bloc de configuration suivant, mis à jour pour notre nouveau répertoire et nom de domaine :

      /etc/nginx/sites-available/your_domain

      server {
              listen 80;
              listen [::]:80;
      
              root /var/www/your_domain/html;
              index index.html index.htm index.nginx-debian.html;
      
              server_name your_domain www.your_domain;
      
              location / {
                      try_files $uri $uri/ =404;
              }
      }
      

      Enregistrez et fermez le fichier lorsque vous avez terminé.

      Activez le fichier en créant un lien depuis celui-ci vers le répertoire sites-enabled :

      • sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

      Deux blocs serveur sont maintenant activés et configurés pour répondre aux requêtes en fonction de leurs directives listen et server_name :

      • your_domain : répondra aux demandes de your_domain et www.your_domain.
      • default : répondra à toutes les demandes provenant du port 80 qui ne correspondent pas aux deux autres blocs.

      Pour éviter un éventuel problème de mémoire de compartiment de hachage pouvant résulter de l’ajout de noms de serveur supplémentaires, vous devez configurer une valeur unique dans le fichier /etc/nginx/nginx.conf. Ouvrez le fichier :

      • sudo nano /etc/nginx/nginx.conf

      Recherchez la directive server_names_hash_bucket_size et supprimez le symbole # pour décommenter la ligne :

      /etc/nginx/nginx.conf

      ...
      http {
          ...
          server_names_hash_bucket_size 64;
          ...
      }
      ...
      

      Testez les erreurs de syntaxe :

      Redémarrez Nginx pour activer vos modifications :

      • sudo systemctl restart nginx

      Nginx devrait maintenant vous présenter votre nom de domaine. Vous pouvez vérifier cela en allant sur http://your_domain où vous devriez voir quelque chose similaire à ceci :

      Nginx first server block

      Conclusion

      Maintenant que votre serveur Web est installé, vous disposez de nombreuses options pour le type de contenu que vous voulez présenter et les technologies que vous souhaitez utiliser pour créer une expérience plus riche.

      Si vous souhaitez construire une pile d’applications plus complète, consultez cet article sur Comment configurer une pile LEMP sur Ubuntu 20.04.



      Source link

      So installieren Sie Nginx unter Ubuntu 20.04


      Einführung

      Nginx ist einer der beliebtesten Webserver der Welt und verantwortlich für das Hosting einiger der größten und datenverkehrsreichsten Websites im Internet. Er ist eine leichtgewichtige Wahl, die als Webserver oder Reverse-Proxy verwendet werden kann.

      Dieser Leitfaden zeigt Ihnen, wie Sie Nginx auf Ihrem Ubuntu-20.04-Server installieren, die Firewall anpassen, den Nginx-Prozess verwalten und Serverblocks für das Hosting von mehreren Domänen von einem einzelnen Server aus einrichten.

      Voraussetzungen

      Bevor Sie mit diesem Leitfaden beginnen, sollten Sie auf Ihrem Server einen regulären non-root user mit sudo-Berechtigungen konfiguriert haben. In unserem Leitfaden zur Ersteinrichtung des Servers unter Ubuntu 20.04. erfahren Sie, wie Sie ein reguläres Benutzerkonto für einen solchen user konfigurieren.

      Wenn Sie über ein Konto verfügen, melden Sie sich zunächst als non-root user an.

      Schritt 1 – Installieren von Nginx

      Da Nginx in den Standard-Repositorys von Ubuntu verfügbar ist, kann es mithilfe des apt-Paketsystems aus diesen Repositorys installiert werden.

      Da es unsere erste Interaktion mit dem apt-Paketsystem in dieser Sitzung ist, aktualisieren wir unseren lokalen Paketindex, damit wir auf die neuesten Paketlisten zugreifen können. Danach können wir nginx installieren:

      • sudo apt update
      • sudo apt install nginx

      Nachdem das Verfahren akzeptiert wurde, installiert apt Nginx und alle erforderlichen Abhängigkeiten auf Ihren Server.

      Schritt 2 – Anpassen der Firewall

      Vor dem Testen von Nginx muss die Firewall-Software angepasst werden, um den Zugriff auf den Dienst zu ermöglichen. Nginx registriert sich bei der Installation als Dienst mit ufw, wodurch ein unkomplizierter Zugriff von Nginx ermöglicht wird.

      Listen Sie die Anwendungskonfigurationen auf, mit denen ufw arbeiten kann, indem Sie Folgendes eingeben:

      Sie sollten eine Auflistung der Anwendungsprofile erhalten:

      Output

      Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

      Wie in der Ausgabe angezeigt, gibt es drei Profile für Nginx:

      • Nginx Full: Dieses Profil öffnet sowohl Port 80 (normaler, unverschlüsselter Webverkehr) als auch Port 443 (mit TLS/SSL verschlüsselter Verkehr)
      • Nginx HTTP: Dieses Profil öffnet nur Port 80 (normaler, unverschlüsselter Verkehr)
      • Nginx HTTPS: Dieses Profil öffnet nur Port 443 (mit TLS/SSL verschlüsselter Datenverkehr)

      Es wird empfohlen, das restriktivste Profil zu aktivieren, das den von Ihnen konfigurierten Datenverkehr immer noch zulässt. Im Moment müssen wir nur den Datenverkehr auf Port 80 zulassen.

      Sie können dies aktivieren, indem Sie Folgendes eingeben:

      • sudo ufw allow 'Nginx HTTP'

      Sie können die Änderung überprüfen, indem Sie Folgendes eingeben:

      Die Ausgabe zeigt an, welcher HTTP-Datenverkehr zugelassen ist:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

      Schritt 3 – Testen Ihres Webservers

      Am Ende des Installationsprozesses startet Ubuntu 20.04 Nginx. Der Webserver sollte bereits ausgeführt werden.

      Sie können eine Überprüfung mit dem Init-System systemd durchführen, um sicherzustellen, dass der Dienst ausgeführt wird, indem Sie Folgendes eingeben:

      Output

      ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-04-20 16:08:19 UTC; 3 days ago Docs: man:nginx(8) Main PID: 2369 (nginx) Tasks: 2 (limit: 1153) Memory: 3.5M CGroup: /system.slice/nginx.service ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2380 nginx: worker process

      Wie diese Ausgabe bestätigt, wurde der Dienst erfolgreich gestartet. Der beste Weg, dies zu testen, besteht jedoch darin, eine Seite von Nginx anzufordern.

      Sie können auf die Standardstartseite von Nginx zugreifen, um zu bestätigen, dass die Software ordnungsgemäß ausgeführt wird, indem Sie zur IP-Adresse Ihres Servers navigieren. Wenn Sie die IP-Adresse Ihres Servers nicht kennen, können Sie sie mithilfe des Tools icanhazip.com finden. Mit diesem erhalten Sie Ihre IP-Adresse, wie sie von einem anderen Ort im Internet empfangen wurde:

      Wenn Sie über die IP-Adresse Ihres Servers verfügen, geben Sie sie in die Adressleiste Ihres Browsers ein:

      http://your_server_ip
      

      Sie sollten nun die Standardstartseite von Nginx erhalten:

      Nginx-Standardseite

      Wenn Sie auf dieser Seite sind, wird Ihr Server korrekt ausgeführt und steht zur Verwaltung bereit.

      Schritt 4 – Verwalten der Nginx-Prozesse

      Nachdem Ihr Webserver nun ausgeführt wird, werfen wir einen Blick auf einige grundlegende Verwaltungsbefehle.

      Um Ihren Webserver anzuhalten, geben Sie Folgendes ein:

      • sudo systemctl stop nginx

      Um den Webserver zu starten, wenn er angehalten wurde, geben Sie Folgendes ein:

      • sudo systemctl start nginx

      Um den Dienst anzuhalten und erneut zu starten, geben Sie Folgendes ein:

      • sudo systemctl restart nginx

      Wenn Sie nur Konfigurationsänderungen vornehmen, kann Nginx oft neu laden, ohne Verbindungen abzubrechen. Dazu geben Sie Folgendes ein:

      • sudo systemctl reload nginx

      Standardmäßig ist Nginx so konfiguriert, dass es beim Booten des Servers automatisch startet. Wenn Sie dieses Verhalten nicht wünschen, können Sie es durch folgende Eingabe deaktivieren:

      • sudo systemctl disable nginx

      Geben Sie Folgendes ein, um den Start des Dienstes beim Booten wieder zu aktivieren:

      • sudo systemctl enable nginx

      Sie haben nun grundlegende Verwaltungsbefehle kennengelernt und können beginnen, die Website so zu konfigurieren, dass sie mehr als eine Domäne hosten kann.

      Schritt 5 – Einrichten von Serverblocks (empfohlen)

      Bei Verwendung des Nginx-Webservers können Serverblocks (ähnlich wie virtuelle Hosts in Apache) verwendet werden, um Konfigurationsdetails einzuschließen und mehr als eine Domäne auf einem einzigen Server zu hosten. Wir richten eine Domäne namens your_domain ein, aber Sie sollten diesen Namen durch Ihren eigenen Domänennamen ersetzen. Um mehr über das Einrichten eines Domänennamens mit DigitalOcean zu erfahren, lesen Sie bitte unsere Einführung zu DigitalOcean DNS.

      Auf Ubuntu 20.04 hat Nginx standardmäßig einen Serverblock aktiviert. Dieser ist so konfiguriert, dass er Dokumente aus einem Verzeichnis in /var/www/html bereitstellt. Das eignet sich gut für eine Site, kann aber umständlich werden, wenn Sie mehrere Sites hosten. Statt /var/www/html zu ändern, erstellen wir eine Verzeichnisstruktur innerhalb /var/www für unsere your_domain und lassen dabei /var/www/html als Standardverzeichnis, das bereitgestellt wird, wenn eine Client-Anfrage keine übereinstimmenden Sites ergibt.

      Erstellen Sie das Verzeichnis für your_domain wie folgt, wobei Sie das Flag -p nutzen, um alle erforderlichen übergeordneten Verzeichnisse zu erstellen:

      • sudo mkdir -p /var/www/your_domain/html

      Weisen Sie als Nächstes das Eigentum am Verzeichnis mit der $USER Umgebungsvariablen zu:

      • sudo chown -R $USER:$USER /var/www/your_domain/html

      Die Berechtigungen Ihrer Webroots sollten korrekt sein, wenn Sie Ihren umask-Wert, der die Standard-Dateiberechtigungen festlegt, nicht geändert haben. Um sicherzustellen, dass Ihre Berechtigungen korrekt sind und der Eigentümer die Dateien lesen, schreiben und ausführen kann, während Gruppen und anderen nur Lese- und Ausführungsberechtigungen erteilt werden, können Sie den folgenden Befehl eingeben:

      • sudo chmod -R 755 /var/www/your_domain

      Erstellen Sie als Nächstes eine index.html Beispielsseite durch die Verwendung von nano oder Ihrem bevorzugten Texteditor:

      • nano /var/www/your_domain/html/index.html

      Fügen Sie dann das folgende HTML-Beispiel hinzu:

      /var/www/your_domain/html/index.html

      <html>
          <head>
              <title>Welcome to your_domain!</title>
          </head>
          <body>
              <h1>Success!  The your_domain server block is working!</h1>
          </body>
      </html>
      

      Wenn Sie fertig sind, speichern und schließen Sie die Datei, indem Sie STRG und X und dann Y und ENTER eingeben.

      Sie müssen einen Serverblock mit den richtigen Anweisungen erstellen, damit Nginx diesen Inhalt bereitstellen kann. Anstatt die Standardkonfigurationsdatei direkt zu ändern, erstellen wir eine neue in /etc/nginx/sites-available/your_domain:

      • sudo nano /etc/nginx/sites-available/your_domain

      Fügen Sie den folgenden Konfigurationsblock ein, der dem Standard ähnlich ist, aber für unser neues Verzeichnis und den Domänennamen aktualisiert wurde:

      /etc/nginx/sites-available/your_domain

      server {
              listen 80;
              listen [::]:80;
      
              root /var/www/your_domain/html;
              index index.html index.htm index.nginx-debian.html;
      
              server_name your_domain www.your_domain;
      
              location / {
                      try_files $uri $uri/ =404;
              }
      }
      

      Beachten Sie, dass wir die root-Konfiguration mit unserem neuen Verzeichnis und den server_name mit unserem Domänennamen aktualisiert haben.

      Als Nächstes aktivieren wir die Datei, indem wir sie mit dem sites-enabled-Verzeichnis verknüpfen, das Nginx beim Starten liest:

      • sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

      Zwei Serverblocks sind nun aktiviert und konfiguriert, um Anfragen auf Grundlage ihrer Anweisungen listen und server_name zu beantworten (mehr darüber, wie Nginx diese Anweisungen prozessiert, lesen Sie hier):

      • your_domain: Antwortet auf Anfragen für your_domain und www.your_domain.
      • default: Antwortet auf alle Anfragen an Port 80, die nicht mit den anderen beiden Blocks übereinstimmen.

      Um ein mögliches Hash-Bucket-Speicherproblem zu vermeiden, das aus dem Hinzufügen zusätzlicher Servernamen entstehen kann, ist es erforderlich, einen einzelnen Wert in der Datei /etc/nginx/nginx.conf anzupassen. Öffnen Sie die Datei:

      • sudo nano /etc/nginx/nginx.conf

      Suchen Sie die Anweisung server_names_hash_bucket_size und entfernen Sie das Symbol #, um die Kommentierung der Zeile aufzuheben. Wenn Sie nano verwenden, können Sie mit STRG und w schnell nach Wörtern in der Datei suchen.

      /etc/nginx/nginx.conf

      ...
      http {
          ...
          server_names_hash_bucket_size 64;
          ...
      }
      ...
      

      Wenn Sie fertig sind, speichern und schließen Sie die Datei.

      Als Nächstes testen Sie, um sicherzustellen, dass es in keiner Ihrer Nginx-Dateien Syntaxfehler gibt:

      Wenn es keine Probleme gibt, starten Sie Nginx neu, um Ihre Änderungen zu aktivieren:

      • sudo systemctl restart nginx

      Nginx sollte jetzt für Ihren Domänennamen eingerichtet sein. Sie können dies testen, indem Sie zu http://your_domain navigieren, wo Sie etwas Ähnliches wie Folgendes sehen sollten:

      Erster Nginx-Serverblock

      Schritt 6 – Kennenlernen der wichtigen Nginx-Dateien und -Verzeichnisse

      Nachdem Sie nun wissen, wie Sie den Nginx-Dienst verwalten, nehmen Sie sich einige Minuten Zeit, um sich mit einigen wichtigen Verzeichnissen und Dateien vertraut zu machen.

      Inhalt

      • /var/www/html: Der eigentliche Webinhalt, der standardmäßig nur aus der Nginx-Standardseite besteht, die Sie zuvor gesehen haben, wird aus dem Verzeichnis /var/www/html bedient. Das kann durch die Anpassung der Konfigurationsdateien von Nginx geändert werden.

      Server-Konfiguration

      • /etc/nginx: Das Nginx-Konfigurationsverzeichnis. Hier befinden sich alle Konfigurationsdateien von Nginx.
      • /etc/nginx/nginx.conf: Die Hauptkonfigurationsdatei von Nginx. Dies kann modifiziert werden, um die globale Konfiguration von Nginx zu ändern.
      • /etc/nginx/sites-available/: Das Verzeichnis, in dem Serverblocks pro Website gespeichert werden können. Nginx verwendet die in diesem Verzeichnis gefundenen Konfigurationsdateien nicht, es sei denn, sie sind mit dem Verzeichnis sites-enabled verknüpft. Üblicherweise wird die gesamte Serverblockkonfiguration in diesem Verzeichnis ausgeführt und durch Verknüpfung mit dem anderen Verzeichnis aktiviert.
      • /etc/nginx/sites-enabled/: Das Verzeichnis, in dem aktivierte Serverblocks pro Website gespeichert werden. Üblicherweise werden diese erstellt, indem Sie mit Konfigurationsdateien verknüpft werden, die im Verzeichnis sites-available zu finden sind.
      • /etc/nginx/snippets: Dieses Verzeichnis enthält Konfigurationsfragmente, die an anderer Stelle in der Nginx-Konfiguration enthalten sein können. Potenziell wiederholbare Konfigurationssegmente sind gute Kandidaten für das Refactoring in Snippets.

      Serverprotokolle

      • /var/log/nginx/access.log: Jede Anfrage auf Ihrem Webserver wird in dieser Protokolldatei aufgezeichnet, sofern Nginx nicht anders konfiguriert ist.
      • /var/log/nginx/error.log: In diesem Protokoll werden alle Nginx-Fehler aufgezeichnet.

      Zusammenfassung

      Nach der Installation Ihres Webservers haben Sie nun viele Möglichkeiten für die Art des Inhalts und die Technologien, die Sie verwenden möchten, um eine umfassendere Benutzererfahrung zu erzielen.

      Wenn Sie einen vollständigeren Anwendungsstapel erstellen möchten, lesen Sie den Artikel Installieren von Linux, Nginx, MySQL und PHP (LEMP-Stack) unter Ubuntu 20.04.



      Source link