GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar LEMP (Linux, Nginx, MariaDB y PHP-FPM) en un CentOS 7 VPS

El siguiente artículo lo guiará a través de los pasos sobre cómo instalar LEMP (Linux, Nginx, MariaDB y PHP-FPM) en uno de nuestros CentOS 7 Servidores Virtuales Linux .

Si por el contrario, estás buscando cómo configurar LAMP , luego consulte nuestra guía sobre cómo instalar LAMP (Linux Apache, MariaDB y PHP) en un CentOS 7 VPS

¿Qué es LEMP?

UN LEMP pila es sinónimo de LEMP servidor o LEMP Servidor web. Se refiere a una configuración que incluye Linux , Nginx , MariaDB (MySQL) y PHP .

ACTUALIZAR EL SISTEMA

Como de costumbre, SSH a su VPS Linux, inicie una screen sesión y asegúrese de que su CentOS 7 está completamente actualizado ejecutando los siguientes comandos:

## screen -U -S lemp-centos7
## yum update

INSTALAR MARIA DB (MYSQL)

MariaDB es un reemplazo directo para MySQL y es el servidor de base de datos predeterminado utilizado en CentOS 7 (RHEL7) . Continúe con la instalación usando yum como en:

## yum install mariadb mariadb-server mysql

A continuación, abra /etc/my.cnf.d/server.cnf usando su editor de texto favorito y agregue bind-address = 127.0.0.1 dentro del [mysqld] bloquear. Por ejemplo:

## vim /etc/my.cnf.d/server.cnf

[mysqld]
#log-bin=mysql-bin
#binlog_format=mixed
bind-address = 127.0.0.1

Esto obligará a MariaDB a escuchar solo en localhost , lo que se considera una buena práctica de seguridad. Bien, ahora reinicie el servidor de la base de datos MariaDB y habilítelo para que se inicie al iniciar el sistema usando:

## systemctl restart mariadb
## systemctl status mariadb
## systemctl enable mariadb

Opcionalmente, puede ejecutar mysql_secure_installation secuencia de comandos posterior a la instalación para mejorar la seguridad de la instalación de MariaDB (MySQL) . Por ejemplo:

## mysql_secure_installation

Enter current password for root (enter for none): ENTER
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

INSTALAR SERVIDOR HTTP NGINX

Nginx aún no está disponible en CentOS 7 repositorios oficiales al momento de escribir este artículo. Entonces, para ser fácilmente instalado y administrado usando yum , podemos usar el repositorio para la última versión estable de Nginx para CentOS 7.

Por ejemplo:

## rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
## yum install nginx

Una vez que esté instalado, ejecute el siguiente comando para averiguar la cantidad de CPU disponibles en su SSD VPS:

## grep -c processor /proc/cpuinfo
2

Este número debe representar el número de nginx procesos establecidos en el archivo de configuración principal de Nginx en /etc/nginx/nginx.conf .

## vim /etc/nginx/nginx.conf
...
worker_processes  2;

Detenga Apache si se está ejecutando en el sistema con el siguiente comando:

## [[ $(pgrep httpd) ]] && ( systemctl stop httpd; systemctl disable httpd )

y pruebe, inicie y agregue Nginx al inicio del sistema usando:

## nginx -t
## systemctl restart nginx
## systemctl enable nginx

Navegue a http://server_ip y debería obtener algo como:

Esto significa que tiene Nginx funcionando correctamente.

INSTALAR PHP-FPM

Vamos a ejecutar PHP como FastCGI usando PHP-FPM , así que instale el soporte de PHP usando yum :

## yum install php-fpm php-mysql

además, es posible que desee instalar algunas otras extensiones de PHP requerido por sus aplicaciones. Aquí está la lista:

php-bcmath          : A module for PHP applications for using the bcmath library
php-cli             : Command-line interface for PHP
php-common          : Common files for PHP
php-dba             : A database abstraction layer module for PHP applications
php-devel           : Files needed for building PHP extensions
php-embedded        : PHP library for embedding in applications
php-enchant         : Enchant spelling extension for PHP applications
php-fpm             : PHP FastCGI Process Manager
php-gd              : A module for PHP applications for using the gd graphics library
php-intl            : Internationalization extension for PHP applications
php-ldap            : A module for PHP applications that use LDAP
php-mbstring        : A module for PHP applications which need multi-byte string handling
php-mysql           : A module for PHP applications that use MySQL databases
php-mysqlnd         : A module for PHP applications that use MySQL databases
php-odbc            : A module for PHP applications that use ODBC databases
php-pdo             : A database access abstraction module for PHP applications
php-pear.noarch     : PHP Extension and Application Repository framework
php-pecl-memcache   : Extension to work with the Memcached caching daemon
php-pgsql           : A PostgreSQL database module for PHP
php-process         : Modules for PHP script using system process interfaces
php-pspell          : A module for PHP applications for using pspell interfaces
php-recode          : A module for PHP applications for using the recode library
php-snmp            : A module for PHP applications that query SNMP-managed devices
php-soap            : A module for PHP applications that use the SOAP protocol
php-xml             : A module for PHP applications which use XML
php-xmlrpc          : A module for PHP applications which use the XML-RPC protocol

Edite el archivo de configuración principal de PHP en /etc/php.ini y establece lo siguiente:

## vim /etc/php.ini

date.timezone = America/New_York
memory_limit = 64M
expose_php = Off

Además, edite /etc/php-fpm.d/www.conf y cambie el usuario y el grupo en el que se ejecutará el grupo de fpm a nginx :

## vim +/^user /etc/php-fpm.d/www.conf

user = nginx
group = nginx

configurar la propiedad del directorio de registros:

## chown nginx:root -R /var/log/php-fpm/

inicie y agregue el servidor PHP al inicio del sistema usando systemctl

## systemctl restart php-fpm
## systemctl enable php-fpm

CONFIGURAR NGINX VHOST

Digamos que tienes un dominio mydomain.com y le gusta usarlo para alojar una aplicación web basada en PHP en /srv/www/mydomain.com.com como WordPress, Joomla, Laravel, etc. Para configurar las solicitudes de servicio de Nginx para mydomain.com y sirva los scripts PHP en /srv/www/mydomain.com.com tendrías que crear un bloque de servidor en /etc/nginx/conf.d/mydomain.com.conf que sería algo como:

## vim /etc/nginx/conf.d/mydomain.com.conf

server {
    server_name mydomain.com;
    listen 80;
    root /srv/www/mydomain.com;
    access_log /var/log/nginx/mydomain.com-access.log;
    error_log /var/log/nginx/mydomain.com-error.log;
    index index.php;

    location / {
        try_files  $uri $uri/ /index.php?$args;
    }

    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
        access_log off;
        expires max;
    }
    location ~ /\.ht {
        deny  all;
    }
    location ~ \.php {
        try_files $uri = 404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

pruebe y reinicie Nginx usando:

## nginx -t
## systemctl restart nginx

Opcionalmente, cree una prueba info.php script usando el siguiente comando:

## mkdir -p /srv/www/mydomain.com
## echo -e "<?php\n\tphpinfo();" > /srv/www/mydomain.com/info.php
## chown nginx: -R /srv/www/

e intente acceder a él en su navegador en http://mydomain.com/info.php

Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS Linux, en cuyo caso simplemente puede pedir a nuestros administradores expertos de Linux que instalen LEMP por usted . Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato. También puede intentar leer nuestra guía sobre cómo instalar LEMP (Linux, Nginx, MySQL y PHP-FPM) en un VPS Debian 8.

PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.


Cent OS
  1. Cómo instalar Linux, Nginx, MariaDB, PHP (LEMP Stack) en CentOS 7 / RHEL 7

  2. Cómo instalar PHP 8 en CentOS 8 Linux

  3. Cómo instalar Linux Dash en CentOS 6

  4. Cómo instalar Varnish y phpMyAdmin en un VPS CentOS 7 con Nginx, MariaDB y PHP-FPM

  5. Cómo instalar LEMP (Linux, Nginx, MariaDB y PHP-FPM) en un CentOS 7 VPS

Cómo instalar Linux, Nginx, MySQL, PHP (LEMP Stack) en Ubuntu 18.04

Cómo instalar LAMP (Linux Apache, MariaDB, PHP) en CentOS 7

Cómo instalar LEMP en CentOS 7

Cómo instalar el servidor LEMP en CentOS 8

Cómo instalar Linux, Nginx, MariaDB y PHP (LEMP) en Fedora 22

Cómo instalar LEMP (Nginx, MariaDB, PHP) en Centos 7