Erstellen einer LEMP-Umgebung (Linux+Nginx+MySQL+PHP) unter CentOS 8.1 (Details zum Tutorial)

Erstellen einer LEMP-Umgebung (Linux+Nginx+MySQL+PHP) unter CentOS 8.1 (Details zum Tutorial)

LEMP ist ein Software-Stack, der aus einer Gruppe kostenloser Open-Source-Tools besteht, die zum Betrieb dynamischer Websites mit hohem Datenverkehr verwendet werden. LEMP ist ein Akronym für Linux, Nginx (ausgesprochen Engine X), MariaDB/MySQL und PHP.

Nginx ist ein Open Source-Webserver mit hoher Leistung und Performance, der auch als Reverse-Proxy dienen kann. MariaDB ist ein Datenbanksystem zum Speichern von Benutzerdaten, während PHP eine serverseitige Skriptsprache ist, die zum Entwickeln und Unterstützen dynamischer Webseiten verwendet wird.

Verwandt:

Erstellen einer LAMP-Umgebung (Linux+Apache+MySQL+PHP) unter CentOS 8.1https://www.linuxidc.com/Linux/2020-02/162446.htm

In diesem Artikel erfahren Sie, wie Sie einen LEMP-Server auf der Linux-Distribution CentOS 8 installieren.

Schritt 1: Pakete unter CentOS 8 aktualisieren

Aktualisieren Sie zunächst das Repository und die Pakete unter CentOS 8 Linux, indem Sie die folgenden dnf-Befehle ausführen.

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf update 

CentOS 8-Pakete aktualisieren

Schritt 2: Installieren Sie den Nginx-Webserver auf CentOS 8

Nachdem die Paketaktualisierung abgeschlossen ist, installieren Sie Nginx mit dem einfachen Befehl.

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf installiere nginx 

Installieren Sie Nginx unter CentOS 8

Der Snippet zeigt, dass die Nginx-Installation reibungslos und ohne Probleme funktionierte.

Installieren Sie Nginx unter CentOS 8

Konfigurieren Sie Nginx nach Abschluss der Installation so, dass es beim Systemstart automatisch gestartet wird, und überprüfen Sie, ob Nginx ausgeführt wird, indem Sie den Befehl ausführen.

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl aktiviere nginx

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl start nginx 

Konfigurieren Sie Nginx so, dass es beim Systemstart automatisch gestartet wird

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl status nginx 

Überprüfen Sie den Nginx-Dienststatus

Um die installierte Nginx-Version zu überprüfen, führen Sie den Befehl aus.

[linuxidc@localhost ~/www.linuxidc.com]$nginx -v

Nginx-Version: nginx/1.14.1

Überprüfen Sie die Nginx-Version

Wenn Sie neugierig auf Nginx sind und mehr darüber erfahren möchten, führen Sie den folgenden RPM-Befehl aus.

[linuxidc@localhost ~/www.linuxidc.com]$rpm -qi nginx 

Nginx-Details anzeigen

Um mit einem Browser zu bestätigen, dass der Nginx-Server ausgeführt wird, geben Sie einfach die IP-Adresse des Systems oder die Website-Adresse in die URL-Leiste ein und drücken Sie die Eingabetaste.

Sie sollten die Webseite „Willkommen bei nginx auf Red Hat Enterprise Linux!“ sehen können, die anzeigt, dass Ihr Nginx-Webserver einsatzbereit ist.

Überprüfen Sie die Nginx-Webseite

Schritt 3: Installieren Sie MariaDB auf CentOS 8

MariaDB ist ein kostenloser Open-Source-Fork von MySQL und bietet die neuesten Funktionen, die es zu einer besseren Alternative zu MySQL machen. Führen Sie den Befehl aus, um MariaDB zu installieren.

Installieren Sie MariaDB in CentOS 8

Um den automatischen Start von MariaDB beim Systemstart zu aktivieren, führen Sie aus.

[linuxidc@localhost ~/www.linuxidc.com]$systemctl starte mariadb

[linuxidc@localhost ~/www.linuxidc.com]$systemctl aktiviere MariaDB

Symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service erstellt.

Symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service erstellt.

Symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service erstellt.

MariaDB startet automatisch beim Systemstart

Überprüfen Sie nach der Installation den Status mit dem folgenden Befehl.

Überprüfen Sie den MariaDB-Dienststatus

Die MariaDB-Datenbank-Engine ist nicht sicher und jeder kann sich ohne Anmeldeinformationen anmelden. Führen Sie den Befehl aus, um MariaDB zu härten und zu schützen und so die Wahrscheinlichkeit eines unbefugten Zugriffs zu minimieren.

[linuxidc@localhost ~/www.linuxidc.com]$mysql_secure_installation

HINWEIS: Es wird empfohlen, alle Teile dieses Skripts für alle MariaDB-Versionen auszuführen.

SERVER IM PRODUKTIONSEINSATZ! BITTE JEDEN SCHRITT SORGFÄLTIG DURCHLESEN!

Um sich bei MariaDB anzumelden und es zu sichern, benötigen wir die aktuelle

Passwort für den Root-Benutzer. Wenn Sie MariaDB gerade installiert haben und

Sie haben das Root-Passwort noch nicht festgelegt. Das Passwort ist leer.

Sie sollten hier also einfach die Eingabetaste drücken.

Geben Sie das aktuelle Passwort für den Root ein (für keins eingeben):

Sie werden aufgefordert, Ihr Root-Passwort einzugeben (sofern Sie bereits eines haben) oder einzurichten. Beantworten Sie jede nachfolgende Eingabeaufforderung mit „Y“.

Nachdem Sie das Passwort festgelegt haben, beantworten Sie die restlichen Fragen, um den anonymen Benutzer zu entfernen, die Testdatenbank zu löschen und Remote-Root-Anmeldungen zu deaktivieren.

Sobald alle Schritte abgeschlossen sind, können Sie sich beim MariaDB-Server anmelden und die Versionsinformationen des MariaDB-Servers überprüfen (geben Sie das Kennwort ein, das Sie beim Schützen des Servers angegeben haben).

[linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p

Passwort eingeben:

Willkommen beim MariaDB-Monitor. Befehle enden mit ; ​​oder \g.

Ihre MariaDB-Verbindungs-ID ist 8

Serverversion: 10.3.17-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab und andere.

Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.

MariaDB [(keine)]>

Überprüfen Sie die MariaDB-Version

Schritt 4: Installieren Sie PHP 7 auf CentOS 8

Abschließend installieren wir die letzte LEMP-Stack-Komponente, PHP, eine Skript-Web-Programmiersprache, die häufig zur Entwicklung dynamischer Webseiten verwendet wird.

Zum Zeitpunkt der Erstellung dieses Handbuchs ist PHP 7.4 die neueste Version. Wir werden es mithilfe des Remi-Repository installieren. Das Remi-Repository ist ein kostenloses Repository, das mit den aktuellsten Softwareversionen geliefert wird, die auf CentOS standardmäßig nicht verfügbar sind.

Führen Sie den folgenden Befehl aus, um das EPEL-Repository zu installieren.

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install https://dl.Fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Installieren Sie als Nächstes die Yum-Dienstprogramme und aktivieren Sie das Remi-Repository mit den folgenden Befehlen.

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf installiere dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Suchen Sie nach der erfolgreichen Installation von yum-utils und Remi-packages nach herunterladbaren PHP-Modulen, indem Sie den Befehl ausführen.

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf Modulliste php

Die Ausgabe enthält verfügbare PHP-Module, Streams und Installationskonfigurationsdateien, wie unten gezeigt.

Zusätzliche Pakete für Enterprise Linux 8 - x86_64 3,3 MB/s | 5,9 MB 00:01

Remis modulares Repository für Enterprise Linux 7,1 kB/s | 535 kB 01:15

Safe Remis RPM-Repository für Enterprise Linux 3,7 kB/s | 1,4 MB 06:27

Letzte Überprüfung auf Ablauf der Metadaten: vor 0:00:03, durchgeführt am Mittwoch, 26. Februar 2020, um 07:39:24.

CentOS-8 - AppStream

Name Stream Profile Zusammenfassung

php 7.2 [d][e] allgemein [d], devel, minimale PHP-Skriptsprache

php 7.3 allgemeine, devel, minimale PHP-Skriptsprache

Remis modulares Repository für Enterprise Linux 8 – x86_64

Name Stream Profile Zusammenfassung

php remi-7.2 common [d], devel, minimale PHP-Skriptsprache

php remi-7.3 common [d], devel, minimale PHP-Skriptsprache

php remi-7.4 common [d], devel, minimale PHP-Skriptsprache

Tipps: [d] Standard, [e] aktiviert, [x] deaktiviert, [i] installiert

Die Ausgabe zeigt, dass die aktuell installierte PHP-Version PHP 7.2 ist. Um die neuere Version PHP 7.4 zu installieren, setzen Sie die PHP-Module zurück.

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf Modul zurücksetzen php

Aktivieren Sie nach dem Zurücksetzen der PHP-Module die PHP 7.4-Module durch Ausführen.

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf Modul aktivieren php:remi-7.4

Installieren Sie abschließend PHP, PHP-FPM (FastCGI Process Manager) und zugehörige PHP-Module mit dem Befehl.

[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf installiere php php-opcache php-gd php-curl php-mysqlnd

Eingerichtet:

php-7.4.3-1.el8.remi.x86_64

php-gd-7.4.3-1.el8.remi.x86_64

php-mysqlnd-7.4.3-1.el8.remi.x86_64

php-opcache-7.4.3-1.el8.remi.x86_64

nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch

php-fpm-7.4.3-1.el8.remi.x86_64

php-mbstring-7.4.3-1.el8.remi.x86_64

php-natrium-7.4.3-1.el8.remi.x86_64

oniguruma-6.8.2-1.el8.x86_64

libsodium-1.0.18-2.el8.x86_64

php-pdo-7.4.3-1.el8.remi.x86_64

vollständig!

Überprüfen Sie, ob die installierte Version funktioniert.

[linuxidc@localhost ~/www.linuxidc.com]$php -v

PHP 7.4.3 (cli) (erstellt: 18. Februar 2020 11:53:05) (NTS)

Copyright (c) Die PHP-Gruppe

Zend Engine v3.4.0, Copyright (c) Zend Technologies

mit Zend OPcache v7.4.3, Copyright (c), Zend Technologies

Vollständig! Jetzt haben wir PHP 7.4 installiert. Es ist auch wichtig, dass wir PHP-FPM beim Booten starten und aktivieren.

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl start php-fpm

[sudo] linuxidcs Passwort:

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl aktiviere php-fpm

Symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service erstellt.

Um den Status zu überprüfen, führen Sie den Befehl aus.

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl status php-fpm

Überprüfen Sie den PHP-FPM-Status

Außerdem ist PHP-FPM standardmäßig so konfiguriert, dass es als Apache-Benutzer ausgeführt wird. Da wir aber den Nginx-Webserver betreiben, müssen wir ihn in den Nginx-Benutzer ändern.

Öffnen Sie also die Datei /etc/php-fpm.d/www.conf .

[linuxidc@localhost ~/www.linuxidc.com]$sudo nano /etc/php-fpm.d/www.conf

Finden Sie diese beiden Zeilen.

Benutzer = Apache

Gruppe = Apache

Ändern Sie nun beide Werte in Nginx.

Benutzer = nginx

Gruppe = nginx

PHP-FPM konfigurieren

Speichern und beenden Sie die Konfigurationsdatei.

Starten Sie dann Nginx und PHP-FPM neu, damit die Änderungen wirksam werden.

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl restart nginx

[sudo] linuxidcs Passwort:

[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl restart php-fpm

Schritt 5: PHP-Informationen testen

Standardmäßig befindet sich der Webverzeichnisordner von Nginx im Pfad /usr/share/nginx/html/ . Um PHP-FPM zu testen, erstellen wir eine phpinfo-Datei.

[linuxidc@localhost ~/www.linuxidc.com]$cd /usr/share/nginx/html/
[linuxidc@localhost /usr/share/nginx/html]$su

Passwort:

[root@localhost /usr/share/nginx/html]$echo "<?php phpinfo(); ?>" > linuxidc.com.php

Speichern und beenden Sie die Datei.

Starten Sie Ihren Browser und geben Sie die IP-Adresse oder URL Ihres Webservers in die URL-Leiste ein (dieser Artikel verwendet https://www.linuxidc.com als Beispiel), wie in der Abbildung gezeigt.

Wenn alles gut geht, werden Ihnen Informationen zu der von Ihnen ausgeführten PHP-Version und andere Kennzahlen angezeigt.

OK, das war’s, Sie haben jetzt den LEMP-Server-Stack erfolgreich auf CentOS 8 installiert. Aus Sicherheitsgründen möchten Sie möglicherweise die Datei info.php löschen, um zu verhindern, dass jemand Informationen von Ihrem Nginx-Server erhält.

Zusammenfassen

Dies ist das Ende dieses Artikels zum Einrichten einer LEMP-Umgebung (Linux+Nginx+MySQL+PHP) unter CentOS 8.1. Weitere Informationen zum Installieren einer LEMP-Umgebung unter CentOS 8 Linux finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So installieren Sie eine PHP7 + Nginx-Umgebung unter CentOS6.6
  • So installieren Sie PHP7.4 und Nginx auf Centos
  • Lösen Sie das Problem, dass bei der Bereitstellung von thinkPHP 5 mit nginx nur auf die Startseite umgeleitet wird
  • Eine kurze Erläuterung der Nginx-Konfiguration von Thinkphp und wie die versteckte Index.php-Eintragsdatei neu geschrieben wird
  • Detaillierte Erläuterung der Ideen zur Fehlerbehebung bei PHP+nginx-Dienstfehlern 500 502
  • So erstellen Sie eine PHP+Nginx+Swoole+MySQL+Redis-Umgebung mit Docker
  • Lösung für „Keine Eingabedatei angegeben“ in nginx+php
  • Nginx+php-Konfigurationsdatei und Prinzipanalyse

<<:  Zusammenfassung der Fallstricke bei der Verwendung von Primärschlüsseln und RowIDs in MySQL

>>:  Detaillierte grafische Erklärung zum Löschen des Keep-Alive-Cache

Artikel empfehlen

Vue implementiert Bildverifizierungscode beim Anmelden

In diesem Artikelbeispiel wird der spezifische Co...

So installieren Sie Graphviz und beginnen mit dem Tutorial unter Windows

Herunterladen und installierenUmgebungsvariablen ...

JS verwendet die Methode „reduce()“, um Baumstrukturdaten zu verarbeiten

Inhaltsverzeichnis Definition Grammatik Beispiele...

Beispielcode zur Implementierung eines Foto-Stacking-Effekts mit CSS

Ergebnisse erzielen Schritt 1. Ursprüngliche inde...

Nginx-Proxy-Axios-Anforderung und Vorsichtsmaßnahmen

Vorwort Ich habe vor kurzem eine kleine Demo gesc...

Beispiel für das Erreichen eines Deckeneffekts mit dem WeChat-Applet

Inhaltsverzeichnis 1. Umsetzung 2. Probleme 3. Üb...

Detaillierte Verwendung des Linux-Textsuchbefehls find

Der Befehl „Find“ wird hauptsächlich zum Suchen v...

Detaillierte Erläuterung der MySQL-Partitionsfunktion und Beispielanalyse

Zunächst: Was ist Datenbankpartitionierung? Ich h...

PostgreSQL-Materialisierte Ansichtsprozessanalyse

Dieser Artikel stellt hauptsächlich die Prozessan...

CSS erstellt Tippboxen, Bubble-Boxen und Dreiecke

Manchmal benötigen unsere Seiten Eingabeaufforder...

Detaillierte Erläuterung der Hochverfügbarkeitskonfiguration von Docker

Docker Compose Docker Compose unterteilt die verw...