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/mysqldWenn es nicht läuft, starten Sie es mit diesem Befehl:
sudo systemctl start mariadbDamit MariaDB beim Booten automatisch startet, führen Sie
aussudo systemctl enable mariadbFühren Sie nun das Sicherheitsskript nach der Installation aus.
sudo mysql_secure_installationWenn 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 rootFühren Sie zum Beenden
ausBeenden;Überprüfen Sie die Versionsinformationen des MariaDB-Servers.
mariadb --versionWie 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.2Schritt 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-curlPHP-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-fpmAutostart beim Booten aktivieren.
sudo systemctl enable php7.2-fpmStatus prüfen:
Systemctl-Status php7.2-fpmBeispielausgabe:
● 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 wwwSchritt 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 insites-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/defaultErstellen Sie dann eine brandneue Serverblockdatei unter /etc/nginx/conf.d/ Verzeichnis.
sudo nano /etc/nginx/conf.d/default.confFü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 -tWenn der Test erfolgreich ist, laden Sie Nginx neu.
sudo systemctl reload nginxSchritt 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.phpFü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 Siesever-ip-address
mit deiner aktuellen IP. Wenn Sie dieser Anleitung auf Ihrem lokalen Computer folgen, geben Sie127.0.0.1/info.php
ein oderlocalhost/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.phpNä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.