Com instal·lar la pila LEMP (Linux, Nginx, MySQL, PHP) en CentOS 7 VPS o servidor dedicat

Introducció

LEMP és un acrònim de Linux, Nginx, MySQL i PHP. La pila LEMP igual que la pila LAMP (amb Apache en lloc de Nginx) s’utilitza per al desenvolupament i desplegament d’aplicacions web. Nginx a LEMP proporciona una sol·licitud de gestió de l’arquitectura modular basada en esdeveniments que utilitza esdeveniments asíncrons. Aquesta característica li permet tenir un alt rendiment en càrregues elevades. MySQL s’utilitza per emmagatzemar les dades del lloc web mentre que PHP és per processar el contingut dinàmic dels llocs.


Aquest article il·lustra com instal·lar la pila LEMP a Centos 7 VPS o Servidor dedicat. Demostrem que utilitzeu les darreres versions dels components LEMP Stack en el moment de publicar-se de la manera següent:

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

Nginx

Open Source NGINX està disponible en dos tipus:

  • Mainline: incorpora les últimes funcions i correccions d’errors i sempre està actualitzat. És fiable, però, pot tenir alguns mòduls experimentals i / o alguns errors nous. Recomanat per a servidors de desenvolupament.
  • Estable: incorpora les últimes funcions amb correccions d’errors crítiques portades a la versió principal. Recomanat per a servidors de producció.

Hi ha dues maneres d’instal·lar el Nginx principal o estable de la següent manera:

  • Instal·lació del paquet Nginx des del Repositori Oficial de Nginx o del Repositori Oficial del sistema operatiu: La manera més fàcil d’instal·lar. El paquet incorpora gairebé tots els mòduls oficials de Nginx.
  • Compilar i instal·lar des de la font: forma d’instal·lació més flexible a mesura que decidiu quins mòduls específics inclouen al paquet.

En aquest cas, instal·lem Nginx – Mainline Type des del seu dipòsit oficial Nginx creant un fitxer repositori yum i enganxant la configuració de la següent manera:

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

Deseu el fitxer i abandoneu-lo.

Actualitzeu el repositori Centos 7 amb el repositori nginx i instal·leu nginx

Actualització $ sudo yum
$ sudo yum instal·lar nginx -y

Inicieu nginx i activeu-lo en l’arrencada

$ sudo systemctl inici nginx
$ sudo systemctl habilita nginx

Verifiqueu que Nginx estigui en funcionament

[linuxuser @ centos7-lemp ~] $ curl -I 127.0.0.1
HTTP / 1.1 200 D’acord
Servidor: nginx / 1.15.2
Data: dim., 31 de juliol de 2018 13:03:07 GMT
Contingut: text / html
Durada del contingut: 612
Darrera modificació: dim., 24 de juliol de 2018 14:05:29 GMT
Connexió: mantenir viva
ETag: "5b573229-264"
Accept-Ranges: bytes

Des de la sortida, confirmem que la versió instal·lada és 1.15.2

També podeu consultar a través del vostre navegador i introduir l’adreça IP del servidor web o el nom de domini.

http: // servidor_domini_nom_or_public_IP /

Comunitat MySQL

Instal·lem MySQL 8.0 Community (per gestionar les dades del lloc web) mitjançant les instruccions del nostre tutorial Com instal·lar MYSQL 8.0 i crear una base de dades en un servidor VOS o un servidor dedicat CentOS 7 Linux

PHP

Es requereix PHP a la pila LEMP per habilitar el processament de contingut dinàmic, ja que Nginx no té capacitat de processament PHP integrada com altres servidors, per exemple. Litespeed En aquest sentit, instal·lem PHP-FPM (FastCGI Process Manager) versió 7.2. De manera predeterminada, Centos 7 arriba amb PHP 5.4 que ha arribat al seu EOL, ara està obsoleta i ja no és compatible. PHP 7.2 permetrà a l’aplicació web carregar-se més ràpidament i utilitzar menys recursos del sistema. A més, incorpora integració de base de dades MySQL integrada, per tant funciona perfectament amb el MySQL 8.0 instal·lat.

Instal·leu i activeu el repositori Remi

El dipòsit PHP-FPM es troba al dipòsit de Remi.

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

Instal·leu mòduls PHP-FPM i d’ús comú

$ 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

Inicia i habilita PHP-FPM

$ sudo systemctl inici php72-php-fpm
$ sudo systemctl habilita php72-php-fpm

Comproveu la versió de PHP

[linuxuser @ centos7-lemp ~] $ php72 -v
PHP 7.2.8 (cli) (construït: 17 jul. 2018 08:41:40) (NTS)
Copyright (c) 1997-2018 El Grup PHP
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
amb Zend OPcache v7.2.8, Copyright (c) 1999-2018, de Zend Technologies

Configuració bàsica de seguretat de PHP

Editeu el fitxer php.ini i cerqueu el paràmetre cgi.fix_pathinfo, descomenteu-lo i configureu-lo per defecte. Aquesta configuració permet que PHP pugui executar el fitxer més proper si no troba un fitxer PHP coincident exactament. Per tant, els usuaris poden crear fàcilment peticions de PHP malicioses que PHP processarà fàcilment.

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

Edita el següent:

; cgi.fix_pathinfo proporciona * real * suport PATH_INFO / PATH_TRANSLATED per a CGI. PHP
; el comportament anterior consistia a definir PATH_TRANSLATED a SCRIPT_FILENAME i a no fer grok
; què és PATH_INFO. Per obtenir més informació sobre PATH_INFO, consulteu les especificacions cgi. Ambientació
; això a 1 farà que PHP CGI solucioni les seves rutes perquè s’ajustin a les especificacions. Un entorn
; de zero fa que PHP es comporti com fins ara. El valor per defecte és 1. Heu de corregir els vostres scripts
; per utilitzar SCRIPT_FILENAME en lloc de PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo = 0

Configureu PHP-FPM per treballar amb Nginx

Editeu el fitxer de configuració php-fpm de la manera següent

$ sudo vim /etc/opt/remi/php72/php-fpm.d/www.conf
; Afegeix un usuari de Nginx
; Usuari / grup de processos Unix
; Nota: L’usuari és obligatori. Si no es defineix el grup, el grup d’usuaris predeterminat
; serà utilitzat.
; RPM: usuari d’apache escollit per proporcionar accés als mateixos directoris que httpd
usuari = nginx

; RPM: mantingueu un grup autoritzat per escriure al registre del registre.
grup = nginx

; L’adreça on acceptar les sol·licituds de FastCGI.
; Les sintaxis vàlides són:
; ‘ip.add.re.ss: port’: escoltar en un sòcol TCP una adreça específica IPv4 activada
; un port específic;
; “[ip: 6: addr: ess]: port”: per escoltar en un sòcol TCP una adreça IPv6 específica a
; un port específic;
; “port”: per escoltar en una presa de TCP totes les adreces
; (IPv6 i mapat IPv4) en un port específic;
; ‘/ path / to / unix / socket’ – per escoltar en un socket unix.
; Nota: Aquest valor és obligatori.
escolta = 127.0.0.1:9000

Reinicieu el servei php-fpm per efectuar els canvis de configuració

$ sudo systemctl reinicia php72-php-fpm

Editeu el fitxer de configuració de Nginx

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

Després de fer els canvis, el fitxer ha de ser el següent:

servidor {
escolta 80;
nom de servidor;

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

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

error_page 404 /404.html;

# redirigeix ​​les pàgines d’error del servidor a la pàgina estàtica /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root / usr / share / nginx / html;
}

# proxy els scripts PHP a Apache escoltant el dia 127.0.0.1:80
#
#location ~ \ .php $ {
# proxy_pass http://127.0.0.1;
#}

# passar les seqüències PHP al servidor FastCGI escoltant el dia 127.0.0.1:9000
#
ubicació ~ \ .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;
incloure fastcgi_params;
}

# denegar l’accés als fitxers .htaccess, si arrel del document d’Apache
# concorda amb el de nginx
#
#location ~ /\.ht {
# negar-ho tot;
#}
}

Prova si la configuració està bé

[linuxuser @ centos7-lemp ~] $ sudo nginx -t
nginx: el fitxer de configuració /etc/nginx/nginx.conf és correcte
nginx: el test de fitxer de configuració /etc/nginx/nginx.conf té èxit

Reinicieu nginx per efectuar els canvis

$ sudo systemctl reinicia nginx

Prova PHP

Crea el fitxer info.php de la següent manera i col·loca’l al directori arrel web Nginx

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

Desa i surt del fitxer.

A continuació, visiteu l’adreça del navegador – http: //your_domain_or_server_public_IP/info.php

A la pàgina web es mostrarà informació PHP sobre el servidor. Això confirma que Nginx funciona correctament amb PHP. A efectes de seguretat, heu de procedir a eliminar el fitxer info.php del directori arrel web.

Conclusió

Ara que heu instal·lat correctament la pila LEMP, ara podeu allotjar el vostre lloc web o aplicació web impressionant al directori arrel / usr / share / nginx / html i servir als vostres clients potencials. De fet, és molt senzill!

Consulteu aquests tres millors serveis d’allotjament MySQL:

A2 Hosting

Preu inicial:
3,92 dòlars


Fiabilitat
9.3


Preu
9.0


Usuari amigable
9.3


Assistència
9.3


Característiques
9.3

Llegiu comentaris

Visita Hosting A2

FastComet

Preu inicial:
2,95 dòlars


Fiabilitat
9.7


Preu
9.5


Usuari amigable
9.7


Assistència
9.7


Característiques
9.6

Llegiu comentaris

Visita FastComet

Hostinger

Preu inicial:
0,99 USD


Fiabilitat
9.3


Preu
9.3


Usuari amigable
9.4


Assistència
9.4


Característiques
9.2

Llegiu comentaris

Visita Hostinger

Articles relacionats amb la informació

  • Com instal·lar la pila LEMP (Linux, Nginx, MySQL, PHP) en un servidor Ubuntu 18.04 VPS o servidor dedicat
    intermèdia
  • Com instal·lar MYSQL 8.0 i crear una base de dades en un servidor VPS o Linux dedicat CentOS 7
    intermèdia
  • Com instal·lar phpMyAdmin en un servidor VOS CentOS 7 o dedicat
    intermèdia
  • Com afinar i optimitzar el rendiment de MySQL 8.0 en un servidor CentOS 7
    expert
  • Com instal·lar CachetHQ en un servidor VPS CentOS 7 o dedicat
    intermèdia
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me