GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie LEMP Stack (Nginx, MariaDB, PHP7.2) auf Ubuntu 18.04 LTS

Dieses Tutorial zeigt Ihnen, wie Sie Nginx, MariaDB und PHP7.2 (LEMP) auf Ubuntu 18.04 installieren. Ein Software-Stack ist eine Reihe von Software-Tools, die gebündelt sind. LEMP steht für Linux, Nginx (Engine-X), MariaDB/MySQL und PHP, die alle Open Source und kostenlos nutzbar sind. Es ist der am weitesten verbreitete Software-Stack, der dynamische Websites und Webanwendungen unterstützt. Linux ist das Betriebssystem; Nginx ist der Webserver; MariaDB/MySQL ist der Datenbankserver und PHP ist die serverseitige Skriptsprache, die für die Generierung dynamischer Webseiten verantwortlich ist.

Voraussetzung

Um diesem Tutorial zu folgen, muss ein Ubuntu 18.04-Betriebssystem auf Ihrem lokalen Computer oder auf einem Remote-Server ausgeführt werden. Wenn Sie nach einem VPS (Virtual Private Server) suchen, können Sie auf diesen speziellen Link klicken, um 50 $ kostenloses Guthaben auf DigitalOcean zu erhalten. (Nur für neue Benutzer). Wenn Sie bereits DigitalOcean-Benutzer sind, können Sie auf diesen speziellen Link klicken, um ein kostenloses Guthaben von 50 $ für Vultr zu erhalten (nur für neue Benutzer). Fangen wir ohne weiteres an.

Schritt 1:Softwarepakete aktualisieren

Bevor wir den LEMP-Stack installieren, empfiehlt es sich, das Repository und die Softwarepakete zu aktualisieren, indem Sie die folgenden Befehle auf Ihrem Ubuntu 18.04-Betriebssystem ausführen.

sudo apt-Updatesudo apt-Upgrade

Schritt 2:Nginx-Webserver installieren

Nginx ist ein Hochleistungs-Webserver und heutzutage sehr beliebt. Es kann auch als Reverse-Proxy und Caching-Server verwendet werden. Geben Sie diesen Befehl ein, um den Nginx-Webserver zu installieren.

sudo apt install nginx

Nach der Installation können wir Nginx so aktivieren, dass es beim Booten von Ubuntu automatisch startet, indem wir den folgenden Befehl ausführen.

sudo systemctl enable nginx

Starten Sie dann Nginx mit diesem Befehl:

sudo systemctl start nginx

Überprüfen Sie jetzt seinen Status.

systemctl status nginx

Ausgabe:

● nginx.service – Ein Hochleistungs-Webserver und ein Reverse-Proxy-Server Geladen:geladen (/lib/systemd/system/nginx.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Donnerstag 2018 17.05. 02:20:05 UTC; Vor 2min 56s Docs:man:nginx(8) Main PID:19851 (nginx) Tasks:2 (limit:2059) CGroup:/system.slice/nginx.service ├─19851 nginx:master process /usr/sbin/nginx - g Dämon an; master_process an; └─19853 nginx:Arbeitsprozess

Aktiviert “ zeigt an, dass der automatische Start beim Booten aktiviert ist, und wir können sehen, dass Nginx ausgeführt wird. Beachten Sie, dass der obige Befehl nach dem Ausführen nicht sofort beendet wird. Sie müssen „q drücken ” um es zu beenden.

Überprüfen Sie die Nginx-Version.

nginx -v

Ausgabe:

nginx-Version:nginx/1.14.0 (Ubuntu)

Geben Sie nun die öffentliche IP-Adresse Ihres Ubuntu 18.04-Servers in die Adressleiste des Browsers ein. Sie sollten die Webseite „Willkommen bei Nginx“ sehen, was bedeutet, dass der Nginx-Webserver ordnungsgemäß ausgeführt wird. Wenn Sie LEMP auf Ihrem lokalen Ubuntu 18.04-Computer installieren, geben Sie 127.0.0.1 ein oder localhost in der Adressleiste des Browsers.

Beachten Sie, dass einige Anbieter von Cloud-Servern möglicherweise standardmäßig den gesamten eingehenden Datenverkehr blockieren. Wenn Ihr Browser also keine Verbindung zum Nginx-Webserver herstellen kann, müssen Sie möglicherweise Firewall-Regeln in Ihrem Steuerungsfeld festlegen.

Schließlich müssen wir www-data erstellen (Nginx-Benutzer) als Eigentümer des Webverzeichnisses. Standardmäßig gehört es dem Root-Benutzer.

sudo chown www-data:www-data /usr/share/nginx/html -R

Schritt 3:MariaDB-Datenbankserver installieren

MariaDB ist ein Drop-in-Ersatz für MySQL. Es wurde von ehemaligen Mitgliedern des MySQL-Teams entwickelt, die befürchten, dass Oracle MySQL in ein Closed-Source-Produkt verwandeln könnte. Geben Sie den folgenden Befehl ein, um MariaDB auf Ubuntu 18.04 zu installieren.

sudo apt install mariadb-server mariadb-client

Nach der Installation sollte der MariaDB-Server automatisch gestartet werden. Verwenden Sie systemctl um seinen Status zu überprüfen.

systemctl status mariadb

Ausgabe:

● mariadb.service - MariaDB-Datenbankserver Geladen:geladen (/lib/systemd/system/mariadb.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Do 2018-05-17 02:39:57 UTC; vor 49s Haupt-PID:21595 (mysqld) Status:„Nimm deine SQL-Anfragen jetzt entgegen …“ Aufgaben:27 (Limit:2059) CGroup:/system.slice/mariadb.service └─21595 /usr/sbin/mysqld 

Wenn es nicht läuft, starten Sie es mit diesem Befehl:

sudo systemctl start mariadb

Damit MariaDB beim Booten automatisch startet, führen Sie

aus
sudo systemctl enable mariadb

Führen Sie nun das Sicherheitsskript nach der Installation aus.

sudo mysql_secure_installation

Wenn Sie aufgefordert werden, das MariaDB-Root-Passwort einzugeben, drücken Sie die Eingabetaste, da das Root-Passwort noch nicht festgelegt ist. Geben Sie dann y ein um das Root-Passwort für den MariaDB-Server festzulegen.

Als nächstes können Sie die Eingabetaste drücken, um alle verbleibenden Fragen zu beantworten, wodurch der anonyme Benutzer entfernt, die Remote-Root-Anmeldung deaktiviert und die Testdatenbank entfernt wird. Dieser Schritt ist eine Grundvoraussetzung für die MariaDB-Datenbanksicherheit. (Beachten Sie, dass Y großgeschrieben wird, was bedeutet, dass es die Standardantwort ist. )

Standardmäßig verwendet das MaraiDB-Paket auf Ubuntu unix_socket um die Benutzeranmeldung zu authentifizieren, was im Grunde bedeutet, dass Sie den Benutzernamen und das Passwort des Betriebssystems verwenden können, um sich bei der MariaDB-Konsole anzumelden. Sie können also den folgenden Befehl ausführen, um sich anzumelden, ohne das MariaDB-Root-Passwort anzugeben.

sudo mariadb -u root

Führen Sie zum Beenden

aus
Beenden;

Überprüfen Sie die Versionsinformationen des MariaDB-Servers.

mariadb --version

Wie Sie sehen können, haben wir MariaDB 10.1.29 installiert.

mariadb Ver 15.1 Distrib 10.1.29-MariaDB, für debian-linux-gnu (x86_64) unter Verwendung von readline 5.2

Schritt 4:PHP7.2 installieren

PHP7.2 ist im Ubuntu 18.04-Repository enthalten und hat eine geringfügige Leistungsverbesserung gegenüber PHP7.1. Geben Sie den folgenden Befehl ein, um php7.2 und einige gängige Erweiterungen zu installieren.

sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2 -mbstring php7.2-xml php7.2-gd php7.2-curl

PHP-Erweiterungen werden häufig für Content-Management-Systeme (CMS) wie WordPress benötigt. Zum Beispiel, wenn Ihrer Installation php7.2-xml fehlt , dann sind einige Ihrer WordPress-Site-Seiten möglicherweise leer und Sie finden einen Fehler im Nginx-Fehlerprotokoll wie:

PHP-Nachricht:PHP Fatal error:  Uncaught Error:Call to undefined function xml_parser_create()

Die Installation dieser PHP-Erweiterungen stellt sicher, dass Ihr CMS reibungslos läuft. Starten Sie nun php7.2-fpm.

sudo systemctl start php7.2-fpm

Autostart beim Booten aktivieren.

sudo systemctl enable php7.2-fpm

Status prüfen:

Systemctl-Status php7.2-fpm

Beispielausgabe:

● php7.2-fpm.service – Der PHP 7.2 FastCGI Process Manager Geladen:geladen (/lib/systemd/system/php7.2-fpm.service; aktiviert; Herstellervorgabe Aktiv:aktiv (läuft) seit Donnerstag 2018 -05-17 03:04:46 UTC; vor 2min 43s Dokumente:man:php-fpm7.2(8) Haupt-PID:31922 (php-fpm7.2) Status:"Prozesse aktiv:0, Leerlauf:2, Anfragen :0, slow:0, Traffic:0req/se Tasks:3 (limit:2059) CGroup:/system.slice/php7.2-fpm.service ├─31922 php-fpm:master process (/etc/php/7.2 /fpm/php-fpm.conf) ├─31939 php-fpm:pool www └─31940 php-fpm:pool www

Schritt 5:Erstellen Sie einen Nginx-Serverblock

Ein Nginx-Serverblock ist wie ein virtueller Host in Apache. Wir werden den Standardserverblock nicht verwenden, da er nicht ausreicht, um PHP-Code auszuführen, und wenn wir ihn ändern, wird es zu einem Chaos. Entfernen Sie also den default Symlink in sites-enabled Verzeichnis, indem Sie den folgenden Befehl ausführen. (Es ist immer noch als /etc/nginx/sites-available/default verfügbar .)

sudo rm /etc/nginx/sites-enabled/default

Erstellen Sie dann eine brandneue Serverblockdatei unter /etc/nginx/conf.d/ Verzeichnis.

sudo nano /etc/nginx/conf.d/default.conf

Fügen Sie den folgenden Text in die Datei ein. Das folgende Snippet veranlasst Nginx, IPv4-Port 80 und IPv6-Port 80 mit einem Catch-All-Servernamen zu überwachen.

server {listen 80; hör zu [::]:80; Servername _; root /usr/share/nginx/html/; index index.php index.html index.htm index.nginx-debian.html; Ort / { Versuchsdateien $uri $uri/ /index.php; } location ~ \.php$ {fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; schließen Sie fastcgi_params ein; fügen Sie snippets/fastcgi-php.conf hinzu; } # Eine lange Browser-Cache-Lebensdauer kann wiederholte Besuche Ihrer Seitenposition beschleunigen ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log aus; log_not_found aus; läuft 360d ab; } # Zugriff auf den Speicherort versteckter Dateien deaktivieren ~ /\.ht { access_log off; log_not_found aus; leugne alles; }}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfigurationen.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu.

sudo systemctl reload nginx

Schritt 6:PHP testen

Um PHP-FPM mit dem Nginx-Webserver zu testen, müssen wir eine info.php erstellen Datei im Dokumentstammverzeichnis.

sudo nano /usr/share/nginx/html/info.php

Fügen Sie den folgenden PHP-Code in die Datei ein.

Speichern und schließen Sie die Datei. Geben Sie nun in der Adressleiste des Browsers server-ip-address/info.php ein . Ersetzen Sie sever-ip-address mit deiner aktuellen IP. Wenn Sie dieser Anleitung auf Ihrem lokalen Computer folgen, geben Sie 127.0.0.1/info.php ein oder localhost/info.php .

Sie sollten die PHP-Informationen Ihres Servers sehen. Dies bedeutet, dass PHP-Skripte ordnungsgemäß mit dem Nginx-Webserver ausgeführt werden können.

Herzlichen Glückwunsch! Sie haben Nginx, MariaDB und PHP7.2 erfolgreich auf Ubuntu 18.04 installiert. Zur Sicherheit Ihres Servers sollten Sie info.php löschen Datei jetzt, um zu verhindern, dass Hacker sie sehen.

sudo rm /usr/share/nginx/html/info.php

Nächster Schritt

Möglicherweise möchten Sie phpMyAdmin installieren, ein webbasiertes Admin-Panel für den MySQL/MariaDB-Datenbankserver.

  • So installieren Sie phpMyAdmin mit Nginx (LEMP) auf Ubuntu 18.04 LTS

Sie können WordPress auch auf dem LEMP-Stack installieren, um Ihre eigene Website oder Ihren eigenen Blog zu erstellen.

  • Installieren Sie WordPress auf Ubuntu 18.04 mit Nginx, MariaDB, PHP7.2 (LEMP)

Das ist es! Ich hoffe, dieses Tutorial hat Ihnen geholfen, den LEMP-Stack unter Ubuntu 18.04 LTS zu installieren . Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten. Pass auf dich auf.


Ubuntu
  1. So installieren Sie Nginx unter Ubuntu 20.04

  2. So installieren Sie MariaDB unter Ubuntu 20.04

  3. So installieren Sie Nextcloud mit Nginx auf Ubuntu 18.04 LTS

  4. So installieren Sie den LEMP-Stack unter Ubuntu 16.04

  5. So installieren Sie LEMP unter Ubuntu 16.04

So installieren Sie Nginx unter Ubuntu 18.04 LTS

So installieren Sie LEMP auf Ubuntu 18.04 LTS

So installieren Sie CachetHQ unter Ubuntu 18.04 LTS

So installieren Sie LEMP auf Ubuntu 20.04 LTS

So installieren Sie den LEMP-Stack mit PhpMyAdmin in Ubuntu 20.04

Wie installiert man LEMP Stack (Nginx, MariaDB, PHP7.2) auf Ubuntu 18.04 LTS?