So installieren Sie den LEMP-Stapel (Linux, Nginx, MySQL, PHP) auf CentOS 7 VPS oder einem dedizierten Server

Einführung

LEMP ist eine Abkürzung für Linux, Nginx, MySQL und PHP. Der LEMP-Stack wird genau wie der LAMP-Stack (mit Apache anstelle von Nginx) für die Entwicklung und Bereitstellung von Webanwendungen verwendet. Nginx in LEMP bietet eine modulare ereignisgesteuerte Architektur, die Anforderungen mithilfe asynchroner Ereignisse verarbeitet. Diese Funktion ermöglicht eine hohe Leistung unter hohen Lasten. Mit MySQL werden die Daten der Website gespeichert, während mit PHP der dynamische Inhalt der Websites verarbeitet wird.


Dieser Artikel beschreibt die Installation des LEMP-Stacks in Centos 7 VPS oder Dedicated Server. Wir demonstrieren die Verwendung der neuesten Versionen von LEMP Stack-Komponenten zum Zeitpunkt der Veröffentlichung wie folgt:

  • Nginx Version 1.15.2
  • PHP-FPM Version 7.2
  • MySQL Community Version 8.0

Nginx

Open Source NGINX ist in zwei Ausführungen erhältlich:

  • Hauptzeile: Enthält die neuesten Funktionen und Fehlerbehebungen und ist immer auf dem neuesten Stand. Es ist zuverlässig, kann jedoch einige experimentelle Module und / oder einige neue Fehler enthalten. Empfohlen für Entwicklungsserver.
  • Stabil: Enthält die neuesten Funktionen mit kritischen Fehlerkorrekturen, die auf die Hauptversion zurückportiert wurden. Empfohlen für Produktionsserver.

Es gibt zwei Möglichkeiten, entweder die Hauptleitung oder den stabilen Nginx wie folgt zu installieren:

  • Installieren des Nginx-Pakets aus dem offiziellen Nginx-Repository oder dem offiziellen OS-Repository: Die einfachste Art der Installation. Das Paket enthält fast alle offiziellen Nginx-Module.
  • Kompilieren und Installieren aus dem Quellcode: Flexiblere Installationsmethode, wenn Sie entscheiden, welche spezifischen Module in das Paket aufgenommen werden sollen.

In diesem Fall installieren wir Nginx – Mainline Type aus dem offiziellen Nginx-Repository, indem wir eine yum-Repository-Datei erstellen und die Konfiguration wie folgt einfügen:

$ sudo vim /etc/yum.repos.d/nginx.repo
[Nginx]
name = nginx repo
baseurl = https: //nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck = 0
aktiviert = 1

Speichern Sie die Datei und beenden Sie sie.

Aktualisieren Sie das Centos 7-Repository mit dem Nginx-Repository und installieren Sie Nginx

$ sudo yum update
$ sudo yum installiere nginx -y

Starten Sie nginx und aktivieren Sie es beim Booten

$ sudo systemctl start nginx
$ sudo systemctl aktiviere nginx

Stellen Sie sicher, dass Nginx aktiv ist

[linuxuser @ centos7-lemp ~] $ curl -I 127.0.0.1
HTTP / 1.1 200 OK
Server: nginx / 1.15.2
Datum: Di, 31. Juli 2018 13:03:07 GMT
Inhaltstyp: Text / HTML
Inhaltslänge: 612
Letzte Änderung: Di, 24 Jul 2018 14:05:29 GMT
Verbindung: am Leben bleiben
ETag: "5b573229-264"
Accept-Ranges: Bytes

Aus der Ausgabe bestätigen wir, dass die installierte Version 1.15.2 ist

Sie können dies auch über Ihren Browser überprüfen und die IP-Adresse oder den Domainnamen Ihres Webservers eingeben.

http: // server_domain_name_or_public_IP /

MySQL-Community

Wir installieren die MySQL 8.0-Community (zum Verwalten der Website-Daten) anhand der Anweisungen in unserem Lernprogramm. So installieren Sie MYSQL 8.0 und erstellen eine Datenbank auf einem CentOS 7 Linux VPS oder einem dedizierten Server

PHP

PHP ist im LEMP-Stack erforderlich, um die Verarbeitung dynamischer Inhalte zu ermöglichen, da Nginx nicht wie andere Server, z. Litespeed. In diesem Zusammenhang installieren wir PHP-FPM (FastCGI Process Manager) Version 7.2. Standardmäßig wird Centos 7 mit PHP 5.4 geliefert, das seine EOL erreicht hat. Es ist jetzt veraltet und wird nicht mehr unterstützt. Mit PHP 7.2 kann die Webanwendung schneller geladen werden und weniger Systemressourcen verbrauchen. Darüber hinaus enthält es eine integrierte MySQL-Datenbankintegration und funktioniert daher nahtlos mit dem installierten MySQL 8.0.

Installieren und aktivieren Sie das Remi Repository

Das PHP-FPM-Paket befindet sich im Remi-Repository.

$ sudo yum install -y yum-utils
$ sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum-config-manager – Remi-php72 aktivieren

Installieren Sie PHP-FPM und häufig verwendete Module

$ sudo yum install -y php72 php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache

Starten und aktivieren Sie PHP-FPM

$ sudo systemctl starte php72-php-fpm
$ sudo systemctl enable php72-php-fpm

Überprüfen Sie die PHP-Version

[linuxuser @ centos7-lemp ~] $ php72 -v
PHP 7.2.8 (cli) (erstellt: 17. Juli 2018 08:41:40) (NTS)
Copyright (c) 1997-2018 Die PHP-Gruppe
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
mit Zend OPcache v7.2.8, Copyright (c) 1999-2018, von Zend Technologies

Grundlegende PHP-Sicherheitskonfiguration

Bearbeiten Sie die Datei php.ini und suchen Sie den Parameter cgi.fix_pathinfo, kommentieren Sie ihn aus und setzen Sie ihn auf 0. Standardmäßig ermöglicht diese Einstellung PHP, die nächstgelegene Datei auszuführen, wenn keine genau passende PHP-Datei gefunden wird. Daher können Benutzer leicht böswillige PHP-Anfragen erstellen, die PHP problemlos verarbeiten kann.

$ sudo vim /etc/opt/remi/php72/php.ini

Bearbeiten Sie wie folgt:

;; cgi.fix_pathinfo bietet * echte * PATH_INFO / PATH_TRANSLATED-Unterstützung für CGI. PHPs
;; Das vorherige Verhalten bestand darin, PATH_TRANSLATED auf SCRIPT_FILENAME zu setzen und nicht zu groken
;; Was ist PATH_INFO? Weitere Informationen zu PATH_INFO finden Sie in den CGI-Spezifikationen. Rahmen
;; Dies auf 1 bewirkt, dass PHP CGI seine Pfade so korrigiert, dass sie der Spezifikation entsprechen. Eine Einstellung
;; von Null bewirkt, dass sich PHP wie zuvor verhält. Standard ist 1. Sie sollten Ihre Skripte reparieren
;; SCRIPT_FILENAME anstelle von PATH_TRANSLATED zu verwenden.
;; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo = 0

Konfigurieren Sie PHP-FPM für die Arbeit mit Nginx

Bearbeiten Sie die Konfigurationsdatei php-fpm wie folgt

$ sudo vim /etc/opt/remi/php72/php-fpm.d/www.conf
;; Nginx-Benutzer hinzufügen
;; Unix-Benutzer / Gruppe von Prozessen
;; Hinweis: Der Benutzer ist obligatorisch. Wenn die Gruppe nicht festgelegt ist, die Gruppe des Standardbenutzers
;; wird verwendet.
;; RPM: Apache-Benutzer, der ausgewählt wurde, um Zugriff auf dieselben Verzeichnisse wie httpd zu gewähren
user = nginx

;; RPM: Behalten Sie eine Gruppe bei, die in das Protokollverzeichnis schreiben darf.
Gruppe = Nginx

;; Die Adresse, an der FastCGI-Anfragen angenommen werden sollen.
;; Gültige Syntaxen sind:
;; ‘ip.add.re.ss: port’ – um einen TCP-Socket auf eine bestimmte IPv4-Adresse abzuhören
;; ein bestimmter Hafen;
;; ‘[ip: 6: addr: ess]: port’ – um einen TCP-Socket auf eine bestimmte IPv6-Adresse abzuhören
;; ein bestimmter Hafen;
;; ‘port’ – um alle Adressen auf einem TCP-Socket abzuhören
;; (IPv6- und IPv4-zugeordnet) an einem bestimmten Port;
;; ‘/ path / to / unix / socket’ – um einen Unix-Socket abzuhören.
;; Hinweis: Dieser Wert ist obligatorisch.
listen = 127.0.0.1:9000

Starten Sie den php-fpm-Dienst neu, um die Konfigurationsänderungen zu bewirken

$ sudo systemctl starte php72-php-fpm neu

Bearbeiten Sie die Nginx-Konfigurationsdatei

$ sudo vim /etc/nginx/sites-enabled/default.conf

Nach dem Vornehmen der Änderungen sollte die Datei wie folgt aussehen:

Server {
höre 80;
Servername ;

#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;

Standort / {
root / usr / share / nginx / html;
index index.php index.html index.htm;
}}

error_page 404 /404.html;

# Serverfehlerseiten auf die statische Seite /50x.html umleiten
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root / usr / share / nginx / html;
}}

# Proxy der PHP-Skripte an Apache, der 127.0.0.1:80 abhört
#
#location ~ \ .php $ {
# proxy_pass http://127.0.0.1;
#}

# Übergeben Sie die PHP-Skripte an den FastCGI-Server, der 127.0.0.1:9000 überwacht
#
Ort ~ \ .php $ {
root / usr / share / nginx / html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
include fastcgi_params;
}}

# Den Zugriff auf .htaccess-Dateien verweigern, wenn Apaches Dokumentstamm vorhanden ist
# stimmt mit dem von Nginx überein
#
#location ~ /\.ht {
# alles verweigern;
#}
}}

Testen Sie, ob die Konfiguration in Ordnung ist

[linuxuser @ centos7-lemp ~] $ sudo nginx -t
nginx: Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist in Ordnung
nginx: Konfigurationsdatei /etc/nginx/nginx.conf Test ist erfolgreich

Starten Sie nginx neu, um die Änderungen zu übernehmen

$ sudo systemctl starte nginx neu

Testen Sie PHP

Erstellen Sie die Datei die Info.PHP wie folgt und legen Sie es in das Nginx Web Root-Verzeichnis

$ sudo vim /usr/share/nginx/html/info.php
<?php phpinfo (); ?>

Speichern und beenden Sie die Datei.

Dann besuchen Sie die Browseradresse – http: //Ihre_Domäne_oder_Server_Public_IP/info.php

Auf der Webseite werden PHP-Informationen zum Server angezeigt. Dies bestätigt, dass Nginx ordnungsgemäß mit PHP funktioniert. Aus Sicherheitsgründen sollten Sie die Datei info.php im Webstammverzeichnis löschen.

Fazit

Nachdem Sie den LEMP-Stack erfolgreich installiert haben, können Sie Ihre fantastische Unternehmenswebsite oder Webanwendung im Stammverzeichnis / usr / share / nginx / html hosten und Ihren potenziellen Kunden dienen. Es ist in der Tat sehr einfach!

Schauen Sie sich diese Top 3 MySQL-Hosting-Services an:

A2 Hosting

Startpreis:
$ 3,92


Verlässlichkeit
9.3


Preisgestaltung
9.0


Benutzerfreundlich
9.3


Unterstützung
9.3


Eigenschaften
9.3

Bewertungen lesen

Besuchen Sie A2 Hosting

FastComet

Startpreis:
2,95 $


Verlässlichkeit
9.7


Preisgestaltung
9.5


Benutzerfreundlich
9.7


Unterstützung
9.7


Eigenschaften
9.6

Bewertungen lesen

Besuchen Sie FastComet

Hostinger

Startpreis:
0,99 $


Verlässlichkeit
9.3


Preisgestaltung
9.3


Benutzerfreundlich
9.4


Unterstützung
9.4


Eigenschaften
9.2

Bewertungen lesen

Besuchen Sie Hostinger

Verwandte Anleitungen

  • So installieren Sie den LEMP-Stapel (Linux, Nginx, MySQL, PHP) auf einem Ubuntu 18.04 VPS oder einem dedizierten Server
    mittlere
  • So installieren Sie MYSQL 8.0 und erstellen eine Datenbank auf einem CentOS 7 Linux VPS oder einem dedizierten Server
    mittlere
  • So installieren Sie phpMyAdmin auf einem CentOS 7 VPS oder einem dedizierten Server
    mittlere
  • Optimieren und Optimieren der Leistung von MySQL 8.0 auf einem CentOS 7-Server
    Experte
  • So installieren Sie CachetHQ auf einem CentOS 7 VPS oder einem dedizierten Server
    mittlere
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me