Hoe om die LEMP (Linux, Nginx, MySQL, PHP) stapel te installeer op CentOS 7 VPS of die toegewyde bediener

inleiding

LEMP is ‘n akroniem vir Linux, Nginx, MySQL en PHP. LEMP-stapel word net soos LAMP-stapel (met Apache in plaas van Nginx) gebruik vir die ontwikkeling en implementering van webtoepassings. Nginx in LEMP bied ‘n modulêre gebeurtenisgedrewe argitektuur vir die hantering van versoeke met behulp van asinchroniese gebeure. Hierdie funksie stel dit in staat om hoë werkverrigting onder hoë vragte te hê. Die MySQL word gebruik om die webwerf se data te stoor, terwyl PHP die dinamiese inhoud van die webwerwe verwerk.


Hierdie artikel illustreer hoe u die LEMP-stapel in Centos 7 VPS of Dedicated Server kan installeer. Ons demonstreer die gebruik van die nuutste weergawes van LEMP Stack-komponente tydens publikasie soos volg:

  • Nginx weergawe 1.15.2
  • PHP-FPM weergawe 7.2
  • MySQL Community Weergawe 8.0

Nginx

Open Source NGINX is beskikbaar in twee soorte:

  • Hooflyn: bevat die nuutste funksies en foutoplossings en is altyd op datum. Dit is betroubaar, maar dit kan ‘n paar eksperimentele modules en / of ‘n paar nuwe foute hê. Aanbeveel vir ontwikkelingsbedieners.
  • Stabiel: bevat die nuutste funksies met kritieke foutoplossings wat na die hooflynweergawe gepoort word. Word aanbeveel vir produksiedieners.

Daar is twee maniere om die hooflyn of stabiele Nginx soos volg te installeer:

  • Installeer Nginx-pakket vanaf Nginx Official Repository of OS Official Repository: Die maklikste manier om te installeer. Die pakket bevat bykans alle amptelike Nginx-modules.
  • Samestelling en installering vanuit die bron: meer buigsame manier van installering, aangesien u besluit watter spesifieke modules in die pakket ingesluit moet word.

In hierdie geval installeer ons Nginx – Mainline Type vanaf die amptelike Nginx-bewaarplek deur ‘n yum-bewaarlêer te skep en die konfigurasie soos volg te plak:

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

Stoor die lêer en stop.

Dateer die Centos 7-repository op met die nginx-bewaarplek en installeer nginx

$ sudo yum opdatering
$ sudo yum installeer nginx -y

Begin nginx en stel dit in werking

$ sudo systemctl begin nginx
$ sudo stelselctl aktiveer nginx

Verifieer dat Nginx aan die gang is

[linuxuser @ centos7-lemp ~] $ krul -I 127.0.0.1
HTTP / 1.1 200 OK
Bediener: nginx / 1.15.2
Datum: Di, 31 Jul 2018 13:03:07 GMT
Inhoudstipe: teks / html
Inhoud-lengte: 612
Laasgewysigde: Di, 24 Jul 2018 14:05:29 GMT
Verbinding: bly leef
ETAG: "5b573229-264"
Aanvaar-reekse: grepe

Uit die afvoer bevestig ons dat die geïnstalleerde weergawe 1.15.2 is

U kan ook via u blaaier kyk en die ip-adres of domeinnaam van u webbediener invoer.

http: // server_domain_name_or_public_IP /

MySQL Gemeenskap

Ons installeer MySQL 8.0 Community (om die data van die webwerf te bestuur) met behulp van die instruksies in ons handleiding Hoe om MYSQL 8.0 te installeer en ‘n databasis te skep op ‘n CentOS 7 Linux VPS of ‘n toegewyde bediener

PHP

PHP is nodig in LEMP-stapel om die verwerking van dinamiese inhoud moontlik te maak, omdat Nginx nie ingeboude PHP-verwerkingsvermoë soos ander bedieners het nie, bv. Lite Speed. In hierdie verband installeer ons PHP-FPM (FastCGI Process Manager) weergawe 7.2. Standaard kom Centos 7 met PHP 5.4 wat sy EOL bereik het, dit is nou verouderd en word nie meer ondersteun nie. PHP 7.2 stel die webtoepassing in staat om vinniger te laai en minder stelselbronne te benut. Daarbenewens bevat dit ingeboude MySQL-databasisintegrasie en werk dus naadloos met die geïnstalleerde MySQL 8.0.

Installeer en aktiveer Remi-bewaarplek

PHP-FPM-pakket word in Remi-bewaarplek aangetref.

$ sudo yum installeer -y yum-gereedskap
$ sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum-config-manager – instelbare remi-php72

Installeer PHP-FPM en gereeld gebruikte modules

$ sudo yum installeer -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

Begin en aktiveer PHP-FPM

$ sudo systemctl begin php72-php-fpm
$ sudo systemctl aktiveer php72-php-fpm

Gaan die PHP-weergawe na

[linuxuser @ centos7-lemp ~] $ php72 -v
PHP 7.2.8 (cli) (gebou: 17 Jul. 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, deur Zend Technologies

Basiese PHP-sekuriteitskonfigurasie

Bewerk die php.ini-lêer en vind die parameter cgi.fix_pathinfo, maak dit los en maak dit op 0. Standaard stel hierdie instelling die PHP in staat om die naaste lêer uit te voer as dit nie ‘n presiese PHP-lêer vind nie. Vandaar dat gebruikers maklik kwaadwillige PHP-versoeke kan skep wat PHP maklik sal verwerk.

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

Wysig soos volg:

; cgi.fix_pathinfo bied * regte * PATH_INFO / PATH_TRANSLATED ondersteuning vir CGI. PHP se
; vorige gedrag was om PATH_TRANSLATED op SCRIPT_FILENAME te stel, en om nie te groik nie
; wat PATH_INFO is. Vir meer inligting oor PATH_INFO, sien die cgi-spesifikasies. omgewing
; dit tot 1 sal veroorsaak dat PHP CGI sy paaie regmaak om aan die spesifikasie te voldoen. ‘N omgewing
; van nul veroorsaak dat PHP optree soos voorheen. Standaard is 1. U moet u skrifte regstel
; om SCRIPT_FILENAME eerder as PATH_TRANSLATED te gebruik.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo = 0

Stel PHP-FPM op om met Nginx te werk

Wysig die php-fpm-konfigurasielêer soos volg

$ sudo vim /etc/opt/remi/php72/php-fpm.d/www.conf
; Voeg Nginx-gebruiker by
; Unix gebruiker / groep prosesse
; Opmerking: die gebruiker is verpligtend. As die groep nie ingestel is nie, dan is die standaardgebruikersgroep
; sal gebruik word.
; RPM: apache-gebruiker het gekies om toegang tot dieselfde kaarte as httpd te gee
gebruiker = nginx

; RPM: Hou ‘n groep toegelaat om in die log log te skryf.
groep = nginx

; Die adres waarop FastCGI-versoeke aanvaar word.
; Geldige sintaksis is:
; ‘ip.add.re.ss: port’ – om op ‘n TCP-aansluiting na ‘n spesifieke IPv4-adres op
; ‘n spesifieke hawe;
; ‘[ip: 6: addr: ess]: port’ – om op ‘n TCP-sok na ‘n spesifieke IPv6-adres te luister
; ‘n spesifieke hawe;
; ‘poort’ – om op ‘n TCP-aansluiting na alle adresse te luister
; (IPv6 en IPv4-gekarteer) op ‘n spesifieke poort;
; ‘/ path / to / unix / socket’ – om op ‘n unix-sok te luister.
; Opmerking: hierdie waarde is verpligtend.
luister = 127.0.0.1:9000

Herbegin php-fpm-diens om die konfigurasieveranderings te bewerkstellig

$ sudo systemctl herbegin php72-php-fpm

Wysig die Nginx-opstellêer

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

Nadat die wysigings aangebring is, moet die lêer soos volg wees:

bediener {
luister 80;
bedienernaam;

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

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

error_page 404 /404.html;

# herlei bedienerfoutbladsye na die statiese bladsy /50x.html
#
error_page 500 502 503 504 /50x.html;
ligging = /50x.html {
root / usr / share / nginx / html;
}

# proxy die PHP-skrifte na Apache luister op 127.0.0.1:80
#
#location ~ \ .php $ {
# proxy_pass http://127.0.0.1;
#}

# gee die PHP-skripte na die FastCGI-bediener en luister op 127.0.0.1:9000
#
ligging ~ \ .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;
sluit fastcgi_params in;
}

# weier toegang tot .htaccess-lêers as die dokumentwortel van Apache is
# stem saam met die een van nginx
#
#location ~ /\.ht {
# ontken almal;
#}
}

Toets of die konfigurasie in orde is

[linuxuser @ centos7-lemp ~] $ sudo nginx -t
nginx: die konfigurasielêer /etc/nginx/nginx.conf-sintaksis is ok
nginx: konfigurasielêer /etc/nginx/nginx.conf-toets is suksesvol

Herbegin nginx om die veranderinge te bewerkstellig

$ sudo systemctl herbegin nginx

Toets PHP

Skep die lêer info.php soos volg en plaas dit in die Nginx-webwortelgids

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

Stoor en verlaat die lêer.

Besoek dan die blaaieradres – http: //your_domain_or_server_public_IP/info.php

Die webblad sal PHP-inligting oor die bediener vertoon. Dit bevestig dat Nginx behoorlik met PHP werk. Vir veiligheidsdoeleindes moet u voortgaan om die info.php-lêer in die webwortelgids te verwyder.

Afsluiting

Noudat u die LEMP-stapel suksesvol geïnstalleer het, kan u u ongelooflike besigheidswebwerf of webtoepassing op die grondgids / usr / share / nginx / html aanbied en dit aan u potensiële kliënte bedien. Dit is inderdaad baie eenvoudig!

Kyk na die top 3 MySQL-hosting-dienste:

A2 Hosting

Beginprys:
$ 3,92


betroubaarheid
9.3


pryse
9.0


Gebruikersvriendelik
9.3


ondersteuning
9.3


Kenmerke
9.3

Lees resensies

Besoek A2 Hosting

FastComet

Beginprys:
$ 2.95


betroubaarheid
9.7


pryse
9.5


Gebruikersvriendelik
9.7


ondersteuning
9.7


Kenmerke
9.6

Lees resensies

Besoek FastComet

Hostinger

Beginprys:
$ 0.99


betroubaarheid
9.3


pryse
9.3


Gebruikersvriendelik
9.4


ondersteuning
9.4


Kenmerke
9.2

Lees resensies

Besoek Hostinger

Verwante artikels oor hoe om te doen

  • Hoe om die LEMP (Linux, Nginx, MySQL, PHP) stapel te installeer op ‘n Ubuntu 18.04 VPS of ‘n toegewyde bediener
    intermediêre
  • Hoe om MYSQL 8.0 te installeer en ‘n databasis te skep op ‘n CentOS 7 Linux VPS of ‘n toegewyde bediener
    intermediêre
  • Hoe om phpMyAdmin te installeer op ‘n CentOS 7 VPS of ‘n toegewyde bediener
    intermediêre
  • Hoe u die prestasie van MySQL 8.0 op ‘n CentOS 7-bediener kan optimaliseer en optimaliseer
    kenner
  • Hoe om CachetHQ te installeer op ‘n CentOS 7 VPS of ‘n toegewyde bediener
    intermediêre
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me