So installieren Sie Nginx, MySQL & PHP (LEMP) auf Ubuntu 20.04

So installieren Sie Nginx, MySQL & PHP (LEMP) auf Ubuntu 20.04

Eine Kombination aus Linux, Nginx, MySQL und PHP ist als LEMP Stack bekannt. Hier ist Linux ein Betriebssystem.

Dieser Artikel hilft Ihnen bei der Installation von Nginx, MySQL 8.0 und Php 7.4 auf Ubuntu Linux -System. Beginnen wir mit der Installation von LEMP Stack Your Ubuntu -Maschine.

Voraussetzungen

Vor Beginn der LEMP -Installation auf Ubuntu:

  • Ein laufender Ubuntu 20.04 System
  • Melden Sie sich als sudo -Konto in Ihrem System an. Um es zu erstellen, folgen Sie dem ersten Server -Setup -Tutorial.
  • Ein Domain/Subdomain -Name wies auf Ihren Server hin

Installieren von NGINX -Webserver

Als nächstes müssen Sie den NGINX -Webserver auf Ihrem System installieren. Die Nginx -Pakete sind unter den Standard -APT -Repositories verfügbar.

Führen Sie die folgenden Befehle aus, um es zu installieren:

sudo apt aktualisieren sudo apt install nginx 

Installieren Sie PHP mit PHP-FPM

Php 7.4 Pakete sind unter den Standard -Repositories auf Ubuntu 20 erhältlich.04 LTS. Verwenden Sie den folgenden Befehl, um den APT -Cache zu aktualisieren und PHP in Ihrem System zu installieren.

sudo apt update sudo apt install -y php7.4 Php7.4-fpm 

Installieren Sie auch zusätzliche PHP -Module, die für Ihre Anwendung erforderlich sind.

sudo APT installieren Sie PHP7.4-curl Php7.4-GD Php7.4-JSON PHP7.4-mbstring php7.4-xml 

Sie haben Php 7 installiert.4 mit PHP FPM -Paket auf Ihrem System. Überprüfen Sie den Status des PHP -FPM -Dienstes, indem Sie den folgenden Befehl ausführen:

sudo systemctl Status PHP7.4-FPM ● PHP7.4-fpm.Service - der Php 7.4 FastCGI -Prozessmanager geladen: geladen (/lib/systemd/system/PHP7.4-fpm.Service; ermöglicht; Anbieter Voreinstellung: aktiviert) aktiv: aktiv (laufend) seit Di 2020-06-16 05:15:57 UTC; 34S vor Dokumenten: Mann: Php-FPM7.4 (8) Prozes.Socke/etc/Php/7.4/fpm/Pool.D/www.Conf 74> Hauptpid: 882699 (PHP-FPM7.4) Status: "Verarbeitet aktiv: 0, Leerlauf: 2, Anfragen: 0, langsam: 0, Verkehr: 0REQ/SEC" Aufgaben: 3 (Grenze: 2283) Speicher: 10.3M CGROUP: /System.Slice/Php7.4-fpm.Service ├─882699 PHP-FPM: Hauptprozess (/etc/php/7.4/fpm/php-fpm.conf) ├─882714 PHP-FPM: Pool www └─882715 Php-FPM: Pool www 16. Juni 05:15:57 Tecadmin Systemd [1]: Starten Sie den Php 7.4 Fastcgi Process Manager… 16. Juni 05:15:57 Tecadmin Systemd [1]: Start den PHP 7.4 Fastcgi Process Manager. 

Installieren von MySQL

Der Standard Ubuntu 20.04 APT -Repositories enthält MySQL Server 8.0. Installieren Sie schließlich MySQL-Server-Pakete für die MySQL-Datenbank. Installieren Sie außerdem das PHP-MYSQL-Paket, um den MySQL-Support mit PHP zu verwenden. Verwenden Sie den folgenden Befehl, um es zu installieren.

sudo apt installieren Sie MySQL-Server PHP7.4-mysql 

Der Installationsprogramm fordert das Stammkennwort auf. Dieses Kennwort funktioniert für Ihren MySQL -Root -Benutzer. Führen Sie nach der Installation von MySQL den folgenden Befehl für die ersten Einstellungen von MySQL Server aus. Sie werden sehen, dass das Skript mehr Einstellungen als frühere MySQL -Versionen wie die Passwort -Validierungsrichtlinie usw. fordert.

sudo mysql_secure_installation 
Sicherung der Bereitstellung von MySQL Server. Verbindung zu MySQL mit einem leeren Passwort herstellen. Validieren Sie die Passwortkomponente können verwendet werden, um Passwörter zu testen und die Sicherheit zu verbessern. Es überprüft die Stärke des Kennworts und ermöglicht es den Benutzern, nur die Kennwörter festzulegen, die sicher genug sind. Möchten Sie die Passwortkomponente validieren?  Drücken Sie y | Y für Ja, eine andere Taste für Nein: y Es gibt drei Ebenen der Kennwortvalidierungsrichtlinie: niedrige Länge> = 8 mittelgroße Länge> = 8, numerisch, gemischtes Gehäuse und Sonderzeichen starke Länge> = 8, numerisch, gemischtes Fall, Sonderzeichen und Wörterbuchdatei Bitte geben Sie 0 = niedrig, 1 = mittel und 2 = stark: 2 Bitte setzen Sie das Kennwort für Root hier. Neues Passwort: Neuer Passwort erneut eingeben: Geschätzte Stärke des Kennworts: 100 Möchten Sie das angegebene Passwort fortsetzen, um fortzufahren?(Drücken Sie Y | Y für Ja, eine andere Taste für Nein): Y standardmäßig hat eine MySQL. Dies dient nur zum Testen und um die Installation etwas glatter zu machen. Sie sollten sie entfernen, bevor Sie in eine Produktionsumgebung einsteigen. Entfernen Sie anonyme Benutzer? (Drücken Sie y | Y für Ja, eine andere Taste für Nein): y Erfolg. Normalerweise sollte Wurzel nur von 'Localhost' herstellen dürfen dürfen. Dies stellt sicher, dass jemand das Stammkennwort aus dem Netzwerk nicht erraten kann. Root Anmeldung aus der Ferne nicht zulassen? (Drücken Sie y | Y für Ja, eine andere Taste für Nein): y Erfolg. Standardmäßig wird MySQL mit einer Datenbank mit dem Namen "Test" geliefert, auf die jeder zugreifen kann. Dies ist auch nur zum Testen gedacht und sollte entfernt werden, bevor sie in eine Produktionsumgebung einsteigen. Entfernen Sie die Testdatenbank und zugreifen Sie darauf? (Drücken Sie Y | Y für Ja, eine andere Taste für Nein): Y - Testerdatenbank fallen lassen… Erfolg. - Entfernen von Berechtigungen in der Testdatenbank… Erfolg. Das Nachladen der Berechtigungstische wird sicherstellen, dass alle bisher vorgenommenen Änderungen sofort wirksam werden. Laden Sie jetzt Privilege -Tabellen neu laden? (Drücken Sie y | Y für Ja, eine andere Taste für Nein): y Erfolg. Alles erledigt! 

Konfigurieren Sie Nginx mit PHP-FPM

Lassen Sie uns einen nginx -virtuellen Host erstellen, der mit FPM/Fastcgi ausgeführt wird. Für dieses Tutorial verwenden wir Standard VirtualHost. Bearbeiten Sie die VirtualHost -Hostkonfigurationsdatei im Textedato. Sie können nach Ihren Anforderungen neue VirtualHost erstellen. Aktivieren Sie also jeden neuen VirtualHost.

sudo vim/etc/nginx/sites-verfügbare/Beispiel.com 

Verwenden Sie die folgende grundlegende nginx virtuelle Hostkonfiguration mit PHP -FPM -Einstellungen. Aktualisieren Sie die Konfiguration wie die folgenden.

Server Listen 80; root/var/www/html; Indexindex.PHP -Index.HTML -Index.HTM; server_name Beispiel.com; Ort / try_files $ uri $ uri / = 404; Ort ~ \.Php $ inklusive Snippets/Fastcgi-Php.conf; FASTCGI_PASS UNIX:/VAR/RUN/PHP/PHP7.4-fpm.Socke;
123456789101112131415Server Listen 80; root/var/www/html; Indexindex.PHP -Index.HTML -Index.HTM; server_name Beispiel.com; Ort / try_files $ uri $ uri / = 404; Ort ~ \.Php $ inklusive Snippets/Fastcgi-Php.conf; FASTCGI_PASS UNIX:/VAR/RUN/PHP/PHP7.4-fpm.Socke;

Speichern Sie Ihre Änderungen in der Konfigurationsdatei und erstellen Sie einen Link zum Site -fähigen Verzeichnis.

sudo ln -s/etc/nginx/sites -verfügbare/Beispiel.com/etc/nginx/sites-fähig/Beispiel.com 

Starten Sie dann den Nginx -Dienst neu, um die Änderungen neu zu laden.

sudo systemctl starten nginx neu 

Schritt 5 - Dienste verwalten

Wir haben es mit der Installation von Lampenstapel auf Ubuntu 20 gemacht.04 LTS -System. Die folgenden Befehle helfen Ihnen beim Starten/Stoppen oder Neustart von Nginx- und MySQL -Diensten, die mit Systemd ausgeführt werden.

Um Nginx- und MySQL -Dienste neu zu starten, geben Sie ein:

sudo systemctl starten nginx sudo systemctl neu starten Sie MySQL neu 

Um Nginx- und MySQL -Dienste zu starten, geben Sie ein:

sudo systemctl starten nginx sudo systemctl start mySQL 

Um Nginx- und MySQL -Dienste zu stoppen, geben Sie ein:

sudo systemctl stop nginx sudo systemctl stop mySQL 

Schritt 6 - Anpassen der Firewall -Regeln

Sie können direkt einen Dienstnamen wie "http" oder "https" angeben, um zuzulassen. Die Firewall verwendet /etc /dienste Datei, um den entsprechenden Port des Dienstes zu bestimmen.

sudo firewall-cmd --permanent --add-service = http sudo firewall-cmd --permanent --add-service = https  Sudo Firewall-CMD-Reload 

Schritt 7 - Überprüfen Sie das Setup

Nach Abschluss des gesamten Setups. Lassen Sie uns a erstellen die Info.Php Datei -Website -Dokument Root mit folgenden Inhalten.

sudo echo "">/var/www/html/info.Php 

Greifen Sie nun im Webbrowser auf diese Datei zu. Sie sehen den Bildschirm wie unten mit allen Details von PHP auf dem Server.

Glückwunsch! Sie haben den LEMP -Server erfolgreich auf Ihrem Ubuntu 20 konfiguriert.04 LTS -System.