Nginx ist ein leistungsstarker Open-Source-Webserverr . Es ist bekannt für seine Stabilität, seine sehr einfache Konfiguration, seinen umfangreichen Funktionsumfang und seinen geringen Ressourcenverbrauch.
Mit Nginx können Sie es als Reverse-Proxy, Load Balancer, HTTP-Cache und Mail-Proxy verwenden.
Dieser Beitrag zeigt Ihnen, wie Sie Nginx unter CentOS 8 / RHEL 8 mit PHP-Unterstützung (über PHP-FPM) und MariaDB-Unterstützung installieren.
PHP-FPM ist eine alternative PHP-FastCGI-Implementierung. Es verfügt über zusätzliche Funktionen, die für Websites jeder Größe nützlich sind, insbesondere für stark frequentierte Websites.
Linux installieren
Folgen Sie den Links, um ein Linux-Betriebssystem zu installieren
LESEN: So installieren Sie CentOS 8 (mit Screenshot)
LESEN: So installieren Sie Red Hat Enterprise Linux 8 (mit Screenshot) oder führen ein Upgrade von RHEL 7 auf RHEL 8 durch.
Inzwischen sollten Sie ein Linux-System bereit haben. Jetzt werden wir Nginx, MariaDB und PHP-FPM darauf installieren.
Die in diesem Artikel erwähnten Schritte funktionieren nur, wenn Sie das Red Hat-Abonnement auf RHEL 8 aktiviert oder das lokale yum-Repository auf Ihrem System konfiguriert haben.Melden Sie sich als Root-Benutzer beim System an oder wechseln Sie zum Root-Benutzer.
$ su -
Installieren Sie Nginx
Installieren Sie Nginx mit dem Basis-Repository
In RHEL 8 ist Nginx im rhel-8-for-x86_64-appstream-rpms-Repository verfügbar. Wir müssen das Nginx-Repository also nicht manuell einrichten.
Installieren Sie Nginx mit dem YUM-Befehl.
yum -y install nginx
Installieren Sie Nginx über das offizielle Repository von Nginx
Nginx-Repository zu Ihrem System hinzufügen.
### CentOS 8 ### cat << EOF > /etc/yum.repos.d/nginx.repo [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/8/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key EOF ### RHEL 8 ### cat << EOF > /etc/yum.repos.d/nginx.repo [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/rhel/8/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key EOF
Installieren Sie Nginx aus dem offiziellen Repository von Nginx, indem Sie das AppStream-Repository vorübergehend deaktivieren.
yum install -y nginx --disablerepo=* --enablerepo=nginx-mainline
Starten Sie nach der Installation den Nginx-Webserverdienst.
systemctl start nginx
Überprüfen Sie den Status des Nginx-Webserverdienstes mit dem folgenden Befehl.
systemctl status nginx
Firewall
Lassen Sie Webanfragen durch die Firewall fließen, indem Sie die folgenden Befehle ausführen.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Wenn Sie einen Fehler für SELinux in Nginx-Protokollen erhalten, finden Sie hier das Tutorial zum Festlegen der SELinux-Richtlinie für Nginx.
Andernfalls können Sie SELinux mit dem folgenden Befehl vorübergehend deaktivieren. Wir empfehlen Ihnen jedoch, SELinux dauerhaft zu deaktivieren.
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
Überprüfen Sie die Nginx-Installation
Öffnen Sie Ihren Webbrowser und rufen Sie die folgende URL auf.
http://Ihre-IP-AdresseNginx aus dem Red Hat-Repository installiert:
Sie sollten die folgende Seite Willkommen bei nginx auf Red Hat Enterprise Linux sehen . Diese Seite bestätigt Ihnen, dass der Ngnix-Webserver erfolgreich auf dem Server installiert wurde.
Nginx mit dem offiziellen Repository von Nginx installiert:
Der standardmäßige Dokumentenstamm von Nginx auf CentOS 8 / RHEL 8 ist /usr/share/nginx/html/. Andere Konfigurationsdateien befinden sich im Verzeichnis /etc/nginx.Aktivieren Sie den Nginx-Dienst beim Systemstart.
systemctl enable nginx
Installieren Sie MariaDB
CentOS 8 / RHEL 8 wird mit MariaDB 10.3 geliefert. Installieren Sie den MariaDB-Server mit dem Befehl yum.
Sie können auch MariaDB-Pakete aus der MariaDB-Community installieren.
LESEN :So installieren Sie MariaDB auf CentOS 8 / RHEL 8
yum -y install mariadb mariadb-server
Starten Sie den MariaDB-Server mit dem folgenden Befehl.
systemctl start mariadb
Aktivieren Sie den MariaDB-Dienst so, dass er während des Systemstarts automatisch gestartet wird.
systemctl enable mariadb
Führen Sie nach Abschluss der Installation des MariaDB-Servers den Befehl mysql_secure_installation aus, um die MariaDB zu sichern.
Installieren Sie PHP
CentOS 8 / RHEL 8 kommt mit PHP 7.2. Installieren Sie PHP über PHP-FPM (FastCGI Process Manager mit dem YUM-Befehl.
Wenn Sie möchten, können Sie PHP 7.3 mit dem Remi-Repository installieren.
LESEN: So installieren Sie PHP 7.3 auf CentOS 8 / RHEL 8
yum -y install php-fpm php-mysqlnd php-cli
Bearbeiten Sie /etc/php.ini.
vi /etc/php.ini
setze cgi.fix_pathinfo auf 0.
cgi.fix_pathinfo=0
Bearbeiten Sie die Datei /etc/php-fpm.d/www.conf.
vi /etc/php-fpm.d/www.conf
Stellen Sie sicher, dass die folgenden Werte UN-kommentiert sind.
[.More.] pm.min_spare_servers = 5 [.More.] pm.max_spare_servers = 35 [.More.]
Ändern Sie den Listen-Parameter.
VON
listen = /run/php-fpm/www.sock
AN
listen = 127.0.0.1:9000
Starten Sie dann den PHP-FPM-Dienst.
systemctl start php-fpm
Aktivieren Sie den PHP-FPM-Dienst, um beim Systemstart automatisch zu starten.
systemctl enable php-fpm
Aktivieren Sie die PHP-FPM-Unterstützung auf dem virtuellen Host
Wir werden nun einen virtuellen Host auf dem Nginx-Server für die folgenden Details erstellen, um PHP zu testen.
Servername: web.itzgeek.local
Dokumentstamm: /usr/share/nginx/html/web.itzgeek.local
Erstellen Sie eine Konfigurationsdatei namens web.itzgeek.local.conf unter /etc/nginx/conf.d und bearbeiten Sie sie.
vi /etc/nginx/conf.d/web.itzgeek.local.conf
Fügen Sie den folgenden Inhalt hinzu.
server { server_name web.itzgeek.local; root /usr/share/nginx/html/web.itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Erstellen Sie ein Dokumentstammverzeichnis.
mkdir /usr/share/nginx/html/web.itzgeek.local
Zum Testen von PHP legen wir eine PHP-Datei im Dokumentenstamm des erstellten virtuellen Hosts ab.
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/web.itzgeek.local/index.php
Starten Sie die Dienste neu.
systemctl restart nginx systemctl restart php-fpm
LEMP-Stack testen
Erstellen Sie einen Hosteintrag für Ihre Webserverdomäne (server.itzgeek.local) in der Datei /etc/hosts (Linux) und hosts (Windows).
192.168.1.10 web.itzgeek.local
Öffnen Sie einen Webbrowser und geben Sie Ihre Domain in die Adressleiste ein.
http://web.itzgeek.localDie Seite sieht wie folgt aus.
Aus dem obigen Screenshot geht hervor, dass PHP wie erwartet funktioniert, und es funktioniert über FPM/FastCGI, wie in der Server-API-Zeile gezeigt.
Sie können die Seite weiter nach unten scrollen, um die MariaDB-Supportdetails anzuzeigen.
Interessante Themen
So richten Sie Let’s Encrypt SSL mit Nginx auf CentOS 8 / RHEL 8 ein
So installieren Sie WordPress mit Nginx auf CentOS 8 / RHEL 8
So installieren Sie phpMyAdmin mit Nginx auf CentOS 8 / RHEL 8
Schlussfolgerung
Sie haben gelernt, wie man den LEMP-Stack auf CentOS 8 / RHEL 8 installiert. Bitte geben Sie Ihr Feedback im Kommentarbereich weiter.