Nginx ist ein kostenloser Open-Source-Hochleistungs-HTTP-Server. Nginx ist bekannt für seine Stabilität, seinen umfangreichen Funktionsumfang, seine einfache Konfiguration und seinen geringen Ressourcenverbrauch.
Dieses Tutorial zeigt Ihnen, wie Sie Nginx unter CentOS 7 / RHEL 7 mit PHP-Unterstützung (über PHP-FPM) und MariaDB-Unterstützung installieren.
PHP-FPM ist eine alternative PHP FastCGI-Implementierung und hat einige zusätzliche Funktionen, die für Websites jeder Größe nützlich sind, insbesondere für stark frequentierte Websites).
Linux installieren
Hier ist der Artikel über die Schritt-für-Schritt-Installation von CentOS 7 / RHEL 7.
Jetzt haben Sie Linux, und als Nächstes müssen Sie Apache, MySQL und PHP darauf installieren. Lassen Sie uns nacheinander installieren.
Als erstes müssen Sie sich als Root-Benutzer anmelden oder zum Root-Benutzer wechseln.
$ su
Installieren Sie Nginx
Installieren Sie das RPM des Nginx-Repositorys, um Nginx von der offiziellen Website herunterzuladen.
### CentOS 7 ### rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm ### RHEL 7 ### rpm -Uvh http://nginx.org/packages/rhel/7/noarch/RPMS/nginx-release-rhel-7-0.el7.ngx.noarch.rpm
Installieren Sie Nginx mit dem folgenden Befehl.
yum -y install nginx
Starten Sie den Nginx-Dienst nach der Installation.
systemctl start nginx
Firewall
Führen Sie die folgenden Befehle im Terminal aus, um HTTP-Anfragen durch die Firewall zuzulassen.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Wenn Sie einen SELinux-Fehler in den Nginx-Protokollen erhalten, finden Sie hier das Tutorial zum Festlegen der SELinux-Richtlinie für Nginx.
Andernfalls deaktivieren Sie SELinux mit dem folgenden Befehl vorübergehend für die aktuelle Sitzung.
setenforce 0
Wir empfehlen Ihnen, SELinux dauerhaft zu deaktivieren.
Nginx testen
Öffnen Sie Ihren Webbrowser und besuchen Sie die folgende URL.
http://Ihre-IP-AdresseSie sollten die folgende Seite sehen. Diese Seite bestätigt, dass Ngnix erfolgreich auf dem Server installiert wurde.
Das standardmäßige nginx-Dokumentenstammverzeichnis unter CentOS 7 ist /usr/share/nginx/html/. Die Konfigurationsdateien befinden sich im Verzeichnis /etc/nginx.
Den Nginx-Dienst beim Systemstart automatisch starten.
systemctl enable nginx
Installieren Sie MariaDB
CentOS 7 / RHEL 7 bietet MariaDB v5.5 aus dem Basis-OS-Repository, das etwas älter ist und bald EOL sein wird. Sie können erwägen, MariaDB v10.x oder MySQL 8.x für Ihren LEMP-Stack zu installieren.Zuerst installieren wir die MariaDB, indem wir den folgenden Befehl ausführen.
yum -y install mariadb mariadb-server
Starten Sie den MariaDB-Server mit dem folgenden Befehl.
systemctl start mariadb
Aktivieren Sie die MariaDB so, dass sie während des Systemstarts automatisch gestartet wird.
systemctl enable mariadb
Sobald die Installation abgeschlossen ist, müssen Sie MariaDB mit dem Befehl mysql_secure_installation sichern. Sie können phpMyAdmin installieren, um Datenbanken über einen Webbrowser zu verwalten.
Installieren Sie PHP
PHP v5.4 (Ende des Supports)
Die im CentOS-Basis-Repository verfügbare PHP-Version (v5.4) ist bereits das Ende des Supports.
PHP v7.3
Remi, ein Drittanbieter-Repository, das die aktuelle Version von PHP (v7.3) anbietet. Um das Remi-Repository zu aktivieren, installieren Sie das Autokonfigurationspaket für das Remi-Repository.
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
Installieren Sie PHP über PHP-FPM (PHP-FPM (FastCGI Process Manager)) mit dem YUM-Befehl.
yum install -y --enablerepo=remi-php73 php php-fpm php-mysqlnd php-cli
Bearbeiten Sie die Datei /etc/php-fpm.d/www.conf,
vi /etc/php-fpm.d/www.conf
Stellen Sie sicher, dass PHP-FPM auf Port 9000 lauscht.
listen = 127.0.0.1:9000
Stellen Sie sicher, dass die folgenden Werte UN-kommentiert sind.
[.More.] pm.min_spare_servers = 5 [.More.] pm.max_spare_servers = 35 [.More.]
LEMP-Stack testen
Virtuellen Host erstellen
Lassen Sie uns für die folgenden Details einen namensbasierten virtuellen Host auf dem Nginx-Server erstellen.
Servername :server.itzgeek.local
Dokumentstamm :/usr/share/nginx/html/itzgeek.local
Erstellen Sie die Konfigurationsdatei namens virtual.conf und bearbeiten Sie /etc/nginx/conf.d/virtual.conf.
vi /etc/nginx/conf.d/virtual.conf
Fügen Sie den folgenden Inhalt hinzu.
server { server_name server.itzgeek.local; root /usr/share/nginx/html/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 /usr/share/nginx/html/itzgeek.local$fastcgi_script_name; } }
Erstellen Sie einen Hosteintrag für Ihre Domain (server.itzgeek.local) in der Datei /etc/hosts.
vi /etc/hosts
Fügen Sie einen Hosteintrag wie unten hinzu.
127.0.0.1 localhost.localdomain localhost server.itzgeek.local
Erstellen Sie das Stammverzeichnis des Dokuments.
mkdir /usr/share/nginx/html/itzgeek.local
Virtueller Host testen
Legen Sie zum Testen von PHP eine PHP-Datei im Dokumentenstamm des erstellten virtuellen Hosts ab. Kopieren Sie im Terminal die folgende Zeile und fügen Sie sie ein:
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/itzgeek.local/index.php
Starten Sie die Dienste neu und aktivieren Sie den Autostart.
systemctl restart nginx systemctl restart php-fpm systemctl enable php-fpm
Öffnen Sie nun Ihren Webbrowser und geben Sie Ihre Domain in die Adressleiste ein:
http://server.itzgeek.localDie Seite sieht wie folgt aus:
Im obigen Screenshot funktioniert PHP und es funktioniert über FPM/FastCGI, wie in der Server-API-Zeile gezeigt.
Wenn Sie weiter nach unten scrollen, sehen Sie die MariaDB-Supportinformationen.
Schlussfolgerung
Das ist alles. Sie haben den LEMP-Stack erfolgreich auf CentOS 7 / RHEL 7 eingerichtet. Zusätzlich können Sie phpMyAdmin auf CentOS 7 installieren, um MariaDB / MySQL-Datenbanken über einen Webbrowser zu verwalten.