Der folgende Artikel führt Sie durch die Schritte zur Installation von LEMP (Linux, Nginx, MariaDB und PHP-FPM) auf einem unserer CentOS 7 Virtuelle Linux-Server .
Wenn Sie stattdessen nach Wie man LAMP einrichtet suchen , dann lesen Sie bitte unsere Anleitung zur Installation von LAMP (Linux Apache, MariaDB &PHP) auf einem CentOS 7 VPS
Was ist LEMP?
Ein LEMP Stack ist ein Synonym für LEMP server oder LEMP Webserver. Es bezieht sich auf eine Einrichtung, die Linux enthält , Nginx , MariaDB (MySQL) und PHP .
SYSTEM AKTUALISIEREN
Wie üblich SSH
zu Ihrem Linux-VPS, starten Sie einen screen
Sitzung und vergewissern Sie sich, dass Sie CentOS 7 verwenden vollständig auf dem neuesten Stand ist, indem Sie die folgenden Befehle ausführen:
## screen -U -S lemp-centos7## Yum-Update
Maria DB (MYSQL) INSTALLIEREN
MariaDB ist ein Drop-in-Ersatz für MySQL und ist der standardmäßige Datenbankserver, der in CentOS 7 (RHEL7) verwendet wird . Fahren Sie mit der Installation mit yum
fort wie in:
## yum installiere mariadb mariadb-server mysql
Als nächstes öffnen Sie /etc/my.cnf.d/server.cnf
Verwenden Sie Ihren bevorzugten Texteditor und fügen Sie bind-address = 127.0.0.1
hinzu innerhalb von [mysqld]
Block. Zum Beispiel:
## vim /etc/my.cnf.d/server.cnf[mysqld]#log-bin=mysql-bin#binlog_format=mixedbind-address =127.0.0.1
Dadurch wird MariaDB gebunden, nur auf localhost zu lauschen , was als gute Sicherheitspraxis angesehen wird. OK, starten Sie jetzt den MariaDB-Datenbankserver neu und aktivieren Sie ihn beim Systemstart mit:
## systemctl mariadb neu starten## systemctl status mariadb## systemctl mariadb aktivieren
Optional können Sie die mysql_secure_installation
ausführen Post-Installationsskript zur Verbesserung der Installationssicherheit von MariaDB (MySQL) . Zum Beispiel:
## mysql_secure_installationGeben Sie das aktuelle Passwort für root ein (Eingabe für none):ENTERSet root password? [Y/n] YAnonyme Benutzer entfernen? [J/n] YRoot-Anmeldung aus der Ferne verbieten? [J/n] YTestdatenbank und Zugriff darauf entfernen? [J/n] YBerechtigungstabellen jetzt neu laden? [J/n] Ja
NGINX-HTTP-SERVER INSTALLIEREN
Nginx
ist in CentOS 7 noch nicht verfügbar offiziellen Repositories zum Zeitpunkt der Erstellung dieses Artikels. Also einfach zu installieren und zu verwalten mit yum
, können wir das Repository für die neueste stabile Version von Nginx für CentOS 7 verwenden.
Zum Beispiel:
## rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm## yum installiere nginxFühren Sie nach der Installation den folgenden Befehl aus, um die Anzahl der verfügbaren CPUs in Ihrem SSD VPS herauszufinden:
## grep -c Prozessor /proc/cpuinfo2Diese Nummer sollte die Nummer von
nginx
darstellen Prozesse, die in der Hauptkonfigurationsdatei von Nginx in/etc/nginx/nginx.conf
festgelegt sind .## vim /etc/nginx/nginx.conf...worker_processes 2;Stoppen Sie Apache, wenn es auf dem System ausgeführt wird, mit dem folgenden Befehl:
## [[ $(pgrep httpd) ]] &&( systemctl stop httpd; systemctl disable httpd )und testen, starten und fügen Sie Nginx zum Systemstart hinzu mit:
## nginx -t## systemctl nginx neu starten## systemctl nginx aktivierenNavigieren Sie zu http://server_ip und Sie sollten so etwas wie:
erhalten
Das bedeutet, dass Nginx einwandfrei funktioniert.
PHP-FPM INSTALLIEREN
Wir werden PHP als FastCGI mit PHP-FPM ausführen , installieren Sie also die PHP-Unterstützung mit
yum
:## yum installiere php-fpm php-mysqlaußerdem möchten Sie vielleicht einige andere PHP-Erweiterungen installieren von Ihren Anwendungen benötigt. Hier ist die Liste:
php-bcmath :Ein Modul für PHP-Anwendungen zur Verwendung der bcmath-Bibliothekphp-cli :Befehlszeilenschnittstelle für PHPphp-common :Gemeinsame Dateien für PHPphp-dba :Ein Modul der Datenbankabstraktionsschicht für PHP-Anwendungenphp-devel :Benötigte Dateien für Erstellen von PHP-Erweiterungenphp-embedded :PHP-Bibliothek zum Einbetten in Anwendungenphp-enchant :Enchant-Rechtschreiberweiterung für PHP-Anwendungenphp-fpm :PHP FastCGI Process Managerphp-gd :Ein Modul für PHP-Anwendungen zur Verwendung der gd-Grafikbibliothekphp-intl :Internationalisierungserweiterung für PHP-Anwendungenphp -ldap :Ein Modul für PHP-Anwendungen, die LDAP verwenden -odbc :Ein Modul für P HP-Anwendungen, die ODBC-Datenbanken verwenden. php-pdo :Ein Datenbankzugriffs-Abstraktionsmodul für PHP-Anwendungen -process :Module für PHP-Skripte, die Systemprozessschnittstellen verwendenphp-pspell :Ein Modul für PHP-Anwendungen zur Verwendung von pspell-Schnittstellenphp-recode :Ein Modul für PHP-Anwendungen zur Verwendung der Recode-Bibliothekphp-snmp :Ein Modul für PHP-Anwendungen, die SNMP-verwaltete Geräte abfragenphp -soap :Ein Modul für PHP-Anwendungen, die das SOAP-Protokoll verwendenphp-xml :Ein Modul für PHP-Anwendungen, die XML verwendenphp-xmlrpc :Ein Modul für PHP-Anwendungen, die das XML-RPC-Protokoll verwendenBearbeiten Sie die PHP-Hauptkonfigurationsdatei in
/etc/php.ini
und stellen Sie Folgendes ein:## vim /etc/php.inidate.timezone =America/New_Yorkmemory_limit =64Mexpose_php =AusBearbeiten Sie außerdem
/etc/php-fpm.d/www.conf
und ändern Sie den Benutzer und die Gruppe, unter der der fpm-Pool ausgeführt wird, innginx
:## vim +/^user /etc/php-fpm.d/www.confuser =nginxgroup =nginxRichten Sie den Besitz des Protokollverzeichnisses ein:
## chown nginx:root -R /var/log/php-fpm/Starten Sie den PHP-Server und fügen Sie ihn mit
systemctl
beim Start des Systems hinzu## systemctl php-fpm neu starten## systemctl php-fpm aktivierenNGINX-VHOST EINRICHTEN
Nehmen wir an, Sie haben eine Domain
mydomain.com
und Sie möchten damit eine PHP-basierte Webanwendung unter/srv/www/mydomain.com.com
hosten wie WordPress, Joomla, Laravel usw. Um Nginx einzurichten, dienen Anfragen fürmydomain.com
, und stellen Sie die PHP-Skripte in/srv/www/mydomain.com.com
bereit Sie müssten einen Serverblock in/etc/nginx/conf.d/mydomain.com.conf
erstellen was in etwa so aussehen würde:## vim /etc/nginx/conf.d/mydomain.com.confserver { server_name mydomain.com; höre 80; root /srv/www/mydomain.com; access_log /var/log/nginx/mydomain.com-access.log; error_log /var/log/nginx/mydomain.com-error.log; indexindex.php; Ort / { Versuchsdateien $uri $uri/ /index.php?$args; } Ort ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; läuft maximal ab; } Ort ~ /\.ht { Alle verweigern; } Speicherort ~ \.php { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; schließen Sie /etc/nginx/fastcgi_params ein; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }}Nginx testen und neu starten mit:
## nginx -t## systemctl nginx neu startenErstellen Sie optional eine Test-
info.php
Skript mit dem folgenden Befehl:## mkdir -p /srv/www/mydomain.com## echo -e " /srv/www/mydomain.com/info.php## chown nginx:-R /srv/www/und versuchen Sie, in Ihrem Browser unter http://mydomain.com/info.php
darauf zuzugreifenNatürlich müssen Sie nichts davon tun, wenn Sie einen unserer Linux-VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, LEMP für Sie zu installieren . Sie sind 24×7 erreichbar und kümmern sich umgehend um Ihr Anliegen. Sie können auch versuchen, unseren Leitfaden zur Installation von LEMP (Linux, Nginx, MySQL und PHP-FPM) auf einem Debian 8 VPS zu lesen.
PS. Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.