Invoering

LEMP is een afkorting voor Linux, Nginx, MySQL en PHP. LEMP-stack wordt net als LAMP-stack (met Apache in plaats van Nginx) gebruikt voor de ontwikkeling en implementatie van webapplicaties. Nginx in LEMP biedt een modulaire eventgestuurde architectuur die verzoeken verwerkt met asynchrone events. Deze functie maakt het mogelijk om hoge prestaties te leveren bij hoge belastingen. De MySQL wordt gebruikt om de gegevens van de website op te slaan, terwijl PHP bedoeld is voor het verwerken van de dynamische inhoud van de sites.


Dit artikel laat zien hoe u de LEMP-stack installeert in Centos 7 VPS of Dedicated Server. We demonstreren het gebruik van de nieuwste versies van LEMP Stack-componenten op het moment van publicatie als volgt:

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

Nginx

Open Source NGINX is beschikbaar in twee typen:

  • Mainline: bevat de nieuwste functies en bugfixes en is altijd up-to-date. Het is betrouwbaar, maar het kan enkele experimentele modules en / of een paar nieuwe bugs bevatten. Aanbevolen voor ontwikkelingsservers.
  • Stabiel: bevat de nieuwste functies met kritieke bugfixes die zijn teruggezet naar de hoofdversie. Aanbevolen voor productieservers.

Er zijn twee manieren om de hoofdlijn of stabiele Nginx als volgt te installeren:

  • Nginx-pakket installeren vanuit Nginx Official Repository of OS Official Repository: de eenvoudigste manier van installatie. Het pakket bevat bijna alle officiële Nginx-modules.
  • Compileren en installeren vanaf de bron: Flexibelere manier van installeren omdat u beslist welke specifieke modules in het pakket moeten worden opgenomen.

In dit geval installeren we Nginx – Mainline Type vanuit de officiële Nginx-repository door een yum-repository-bestand te maken en de configuratie als volgt te plakken:

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

Sla het bestand op en sluit af.

Werk de Centos 7-repository bij met de nginx-repository en installeer nginx

$ sudo yum update
$ sudo yum installeer nginx -y

Start nginx en schakel in bij het opstarten

$ sudo systemctl start nginx
$ sudo systemctl schakelt nginx in

Controleer of Nginx actief is

[linuxuser @ centos7-lemp ~] $ curl -I 127.0.0.1
HTTP / 1.1 200 OK
Server: nginx / 1.15.2
Datum: di 31 jul 2018 13:03:07 GMT
Inhoudstype: tekst / html
Inhoud lengte: 612
Laatst gewijzigd: di 24 jul 2018 14:05:29 GMT
Verbinding: levend houden
ETag: "5b573229-264"
Accept-Ranges: bytes

Vanuit de uitvoer bevestigen we dat de geïnstalleerde versie 1.15.2 is

U kunt ook controleren via uw browser en het IP-adres of de domeinnaam van uw webserver invoeren.

http: // serverdomeinnaam_of_openbare_IP /

MySQL-gemeenschap

We installeren de MySQL 8.0-community (om de gegevens van de website te beheren) met behulp van de instructies in onze zelfstudie MYSQL 8.0 installeren en een database maken op een CentOS 7 Linux VPS of speciale server

PHP

PHP is vereist in LEMP-stack om verwerking van dynamische inhoud mogelijk te maken, omdat Nginx geen ingebouwde PHP-verwerkingscapaciteit heeft zoals andere servers, b.v. Litespeed. In dit opzicht installeren we PHP-FPM (FastCGI Process Manager) versie 7.2. Standaard wordt Centos 7 geleverd met PHP 5.4 dat zijn EOL heeft bereikt, het is nu verouderd en wordt niet langer ondersteund. Met PHP 7.2 kan de webapplicatie sneller laden en minder systeembronnen gebruiken. Bovendien bevat het ingebouwde MySQL-database-integratie en werkt het naadloos samen met het geïnstalleerde MySQL 8.0.

Installeer en schakel Remi Repository in

PHP-FPM-pakket is te vinden in 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 – schakel remi-php72 in

Installeer PHP-FPM en veelgebruikte modules

$ 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

Start en schakel PHP-FPM in

$ sudo systemctl start php72-php-fpm
$ sudo systemctl schakel php72-php-fpm in

Controleer de PHP-versie

[linuxuser @ centos7-lemp ~] $ php72 -v
PHP 7.2.8 (cli) (gebouwd: 17 juli 2018 08:41:40) (NTS)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
met Zend OPcache v7.2.8, Copyright (c) 1999-2018, door Zend Technologies

Basis PHP-beveiligingsconfiguratie

Bewerk het php.ini-bestand en zoek de parameter cgi.fix_pathinfo, verwijder het commentaar en stel in op 0. Standaard stelt deze instelling PHP in staat om het dichtstbijzijnde bestand uit te voeren als het geen exact overeenkomend PHP-bestand vindt. Daarom kunnen gebruikers eenvoudig kwaadaardige PHP-verzoeken maken die PHP gemakkelijk zal verwerken.

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

Bewerk als volgt:

; cgi.fix_pathinfo biedt * echte * PATH_INFO / PATH_TRANSLATED ondersteuning voor CGI. PHP’s
; vorig gedrag was om PATH_TRANSLATED in te stellen op SCRIPT_FILENAME en niet te groeven
; wat PATH_INFO is. Zie de cgi-specificaties voor meer informatie over PATH_INFO. Omgeving
; dit op 1 zorgt ervoor dat PHP CGI zijn paden fixeert om te voldoen aan de specificatie. Een instelling
; van nul zorgt ervoor dat PHP zich gedraagt ​​zoals voorheen. De standaardwaarde is 1. U moet uw scripts repareren
; om SCRIPT_FILENAME te gebruiken in plaats van PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo = 0

Configureer PHP-FPM om te werken met Nginx

Bewerk het php-fpm-configuratiebestand als volgt

$ sudo vim /etc/opt/remi/php72/php-fpm.d/www.conf
; Voeg Nginx-gebruiker toe
; Unix gebruiker / groep processen
; Let op: De gebruiker is verplicht. Als de groep niet is ingesteld, de groep van de standaardgebruiker
; zal gebruikt worden.
; RPM: apache-gebruiker gekozen om toegang te verlenen tot dezelfde mappen als httpd
gebruiker = nginx

; RPM: Houd een groep toegestaan ​​om in logboek te schrijven.
groep = nginx

; Het adres waarop FastCGI-verzoeken worden geaccepteerd.
; Geldige syntaxen zijn:
; ‘ip.add.re.ss: port’ – om op een TCP-socket naar een specifiek IPv4-adres te luisteren
; een specifieke poort;
; ‘[ip: 6: addr: ess]: port’ – om op een TCP-socket te luisteren naar een specifiek IPv6-adres op
; een specifieke poort;
; ‘poort’ – om op een TCP-socket naar alle adressen te luisteren
; (IPv6 en IPv4-toegewezen) op een specifieke poort;
; ‘/ path / to / unix / socket’ – om te luisteren op een unix-socket.
; Opmerking: deze waarde is verplicht.
listen = 127.0.0.1:9000

Start de php-fpm-service opnieuw op om de configuratiewijzigingen door te voeren

$ sudo systemctl herstart php72-php-fpm

Bewerk het Nginx-configuratiebestand

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

Na het aanbrengen van de wijzigingen zou het bestand er als volgt uit moeten zien:

server {
luister 80;
server naam ;

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

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

error_page 404 /404.html;

# redirect server error pagina’s naar de statische pagina /50x.html
#
error_page 500 502 503 504 /50x.html;
locatie = /50x.html {
root / usr / share / nginx / html;
}

# proxy de PHP scripts naar Apache luisterend op 127.0.0.1:80
#
#location ~ \ .php $ {
# proxy_pass http://127.0.0.1;
#}

# geef de PHP-scripts door aan de FastCGI-server en luister op 127.0.0.1:9000
#
locatie ~ \ .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;
fastcgi_params opnemen;
}

# weiger toegang tot .htaccess-bestanden, als Apache’s documentroot
# stemt overeen met die van nginx
#
#location ~ /\.ht {
# alles ontkennen;
#}
}

Test of de configuratie in orde is

[linuxuser @ centos7-lemp ~] $ sudo nginx -t
nginx: het configuratiebestand /etc/nginx/nginx.conf syntaxis is ok
nginx: configuratiebestand /etc/nginx/nginx.conf-test is geslaagd

Start nginx opnieuw op om de wijzigingen door te voeren

$ sudo systemctl herstart nginx

Test PHP

Maak het bestand info.php als volgt en plaats het in de Nginx web root directory

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

Sla het bestand op en sluit het af.

Bezoek dan het browseradres – http: //uw_domein_of_server_openbare_IP/info.php

De webpagina geeft PHP-informatie over de server weer. Dit bevestigt dat Nginx goed werkt met PHP. Om veiligheidsredenen moet u doorgaan met het verwijderen van het info.php-bestand in de webhoofdmap.

Conclusie

Nu u de LEMP-stack met succes hebt geïnstalleerd, kunt u nu uw geweldige bedrijfswebsite of webtoepassing hosten in de hoofdmap / usr / share / nginx / html en dienen voor uw potentiële klanten. Het is inderdaad heel eenvoudig!

Bekijk deze top 3 MySQL-hostingservices:

A2-hosting

Beginprijs:
$ 3,92


Betrouwbaarheid
9.3


Prijzen
9.0


Gebruikersvriendelijk
9.3


Ondersteuning
9.3


Kenmerken
9.3

Lees recensies

Bezoek A2 Hosting

FastComet

Beginprijs:
$ 2,95


Betrouwbaarheid
9.7


Prijzen
9.5


Gebruikersvriendelijk
9.7


Ondersteuning
9.7


Kenmerken
9.6

Lees recensies

Bezoek FastComet

Hostinger

Beginprijs:
$ 0,99


Betrouwbaarheid
9.3


Prijzen
9.3


Gebruikersvriendelijk
9.4


Ondersteuning
9.4


Kenmerken
9.2

Lees recensies

Bezoek Hostinger

Gerelateerde How-To-artikelen

  • Hoe de LEMP (Linux, Nginx, MySQL, PHP) Stack op een Ubuntu 18.04 VPS of Dedicated Server te installeren
    gemiddeld
  • MYSQL 8.0 installeren en een database aanmaken op een CentOS 7 Linux VPS of een dedicated server
    gemiddeld
  • Hoe phpMyAdmin te installeren op een CentOS 7 VPS of Dedicated Server
    gemiddeld
  • De prestaties van MySQL 8.0 afstemmen en optimaliseren op een CentOS 7-server
    deskundige
  • Hoe CachetHQ te installeren op een CentOS 7 VPS of dedicated server
    gemiddeld
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me