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

Cómo instalar Linux, Nginx, MariaDB, PHP (LEMP Stack) en CentOS 8 / RHEL 8

Nginx es un servidor web de código abierto y alto rendimientor . Es conocido por su estabilidad, configuración muy simple, conjunto completo de funciones y bajo consumo de recursos.

Nginx le permite usarlo como proxy inverso, equilibrador de carga, caché HTTP y proxy de correo.

Esta publicación le muestra cómo instalar Nginx en CentOS 8/RHEL 8 con compatibilidad con PHP (a través de PHP-FPM) y compatibilidad con MariaDB.

PHP-FPM es una implementación alternativa de PHP FastCGI. Tiene características adicionales que son útiles para sitios de cualquier tamaño, especialmente para sitios más concurridos.

Instalar Linux

Siga los enlaces para instalar un sistema operativo Linux

LEER: Cómo instalar CentOS 8 (con captura de pantalla)

LEER: Cómo instalar Red Hat Enterprise Linux 8 (con captura de pantalla) o actualizar de RHEL 7 a RHEL 8.

A estas alturas, debería tener un sistema Linux listo con usted. Ahora, instalaremos Nginx, MariaDB y PHP-FPM encima.

Los pasos mencionados en este artículo solo funcionarán si ha habilitado la suscripción a Red Hat en RHEL 8 o ha configurado el repositorio local de yum en su sistema.

Inicie sesión en el sistema como usuario raíz o cambie al usuario raíz.

$ su -

Instalar Nginx

Instalar Nginx usando el repositorio base

En RHEL 8, Nginx está disponible en el repositorio rhel-8-for-x86_64-appstream-rpms. Por lo tanto, no necesitamos configurar el repositorio de Nginx manualmente.

Instale Nginx usando el comando YUM.

yum -y install nginx

Instalar Nginx usando el repositorio oficial de Nginx

Agregue el repositorio Nginx a su sistema.

### CentOS 8 ###

cat << EOF > /etc/yum.repos.d/nginx.repo
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/8/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF

### RHEL 8 ###

cat << EOF > /etc/yum.repos.d/nginx.repo
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/rhel/8/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF

Instale Nginx desde el repositorio oficial de Nginx deshabilitando temporalmente el repositorio de AppStream.

yum install -y nginx --disablerepo=* --enablerepo=nginx-mainline

Inicie el servicio del servidor web Nginx después de la instalación.

systemctl start nginx

Verifique el estado del servicio del servidor web Nginx usando el siguiente comando.

systemctl status nginx

Cortafuegos

Permita que las solicitudes web fluyan a través del firewall ejecutando los siguientes comandos.

firewall-cmd --permanent --add-service=http

firewall-cmd --reload

SELinux

Si obtiene algún error para SELinux en los registros de Nginx, aquí está el tutorial sobre cómo configurar la política de SELinux para Nginx.

De lo contrario, puede deshabilitar temporalmente SELinux usando el siguiente comando. Pero le sugerimos que deshabilite SELinux de forma permanente.

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Verificar la instalación de Nginx

Abra su navegador web y visite la siguiente URL.

http://tu-direccion-ip

Nginx instalado desde el repositorio de Red Hat:

Debería ver la siguiente página Bienvenido a nginx en Red Hat Enterprise Linux . Esta página le confirma que el servidor web Ngnix se instaló correctamente en el servidor.

Nginx instalado mediante el repositorio oficial de Nginx:

La raíz del documento predeterminada de Nginx en CentOS 8/RHEL 8 es /usr/share/nginx/html/. Otros archivos de configuración se encuentran en el directorio /etc/nginx.

Habilite el servicio Nginx al iniciar el sistema.

systemctl enable nginx

Instalar MariaDB

CentOS 8/RHEL 8 viene con MariaDB 10.3. Instale el servidor MariaDB usando el comando yum.

También puede instalar paquetes de MariaDB desde la comunidad de MariaDB.

LEER :Cómo instalar MariaDB en CentOS 8 / RHEL 8

yum -y install mariadb mariadb-server

Inicie el servidor MariaDB usando el siguiente comando.

systemctl start mariadb

Habilite el servicio MariaDB para que se inicie automáticamente durante el arranque del sistema.

systemctl enable mariadb

Una vez que se complete la instalación del servidor MariaDB, ejecute el comando mysql_secure_installation para asegurar MariaDB.

Instalar PHP

CentOS 8/RHEL 8 viene con PHP 7.2. Instale PHP a través de PHP-FPM (FastCGI Process Manager usando el comando YUM.

Si lo desea, puede instalar PHP 7.3 usando el repositorio de Remi.

LEER: Cómo instalar PHP 7.3 en CentOS 8 / RHEL 8

yum -y install php-fpm php-mysqlnd php-cli

Edite /etc/php.ini.

vi /etc/php.ini

establezca cgi.fix_pathinfo en 0.

cgi.fix_pathinfo=0

Edite el archivo /etc/php-fpm.d/www.conf.

vi /etc/php-fpm.d/www.conf

Asegúrese de que los siguientes valores no estén comentados.

[.More.]	 	 

pm.min_spare_servers = 5	 	 

[.More.]	 	 

pm.max_spare_servers = 35	 	 

[.More.]

Cambie el parámetro Escuchar.

DE

listen = /run/php-fpm/www.sock

A

listen = 127.0.0.1:9000

Luego, inicie el servicio PHP-FPM.

systemctl start php-fpm

Habilite el servicio PHP-FPM para que se inicie automáticamente al arrancar el sistema.

systemctl enable php-fpm

Habilitar la compatibilidad con PHP-FPM en el host virtual

Ahora crearemos un host virtual en el servidor Nginx para los siguientes detalles para probar el PHP.

Nombre del servidor: web.itzgeek.local
Raíz del documento: /usr/share/nginx/html/web.itzgeek.local

Cree un archivo de configuración llamado web.itzgeek.local.conf en /etc/nginx/conf.d y edítelo.

vi /etc/nginx/conf.d/web.itzgeek.local.conf

Agrega el siguiente contenido.

server {
   server_name web.itzgeek.local;
   root /usr/share/nginx/html/web.itzgeek.local;

   location / {
       index index.html index.htm index.php;
   }

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

Cree un directorio raíz de documentos.

mkdir /usr/share/nginx/html/web.itzgeek.local

Para probar el PHP, colocaremos un archivo PHP en la raíz del documento del servidor virtual creado.

echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/web.itzgeek.local/index.php

Reinicie los servicios.

systemctl restart nginx

systemctl restart php-fpm

Pila LEMP de prueba

Cree una entrada de host para el dominio de su servidor web (server.itzgeek.local) en el archivo /etc/hosts (Linux) y hosts (Windows).

192.168.1.10             web.itzgeek.local

Abra un navegador web e ingrese su dominio en la barra de direcciones.

http://web.itzgeek.local

La página se verá como a continuación.

De la captura de pantalla anterior, PHP funciona como se esperaba y funciona a través de FPM/FastCGI, como se muestra en la línea API del servidor.

Puede desplazarse por la página más abajo para ver los detalles de soporte de MariaDB.

Temas de interés

Cómo configurar Let's Encrypt SSL con Nginx en CentOS 8/RHEL 8

Cómo instalar WordPress con Nginx en CentOS 8 / RHEL 8

Cómo instalar phpMyAdmin con Nginx en CentOS 8/RHEL 8

Conclusión

Ha aprendido a instalar la pila LEMP en CentOS 8/RHEL 8. Comparta sus comentarios en la sección de comentarios.


Cent OS
  1. Cómo instalar Xdebug en RHEL 8 / CentOS 8 Linux

  2. Cómo instalar php en RHEL 8 / CentOS 8 Linux

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

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

  5. Cómo instalar LEMP Stack en CentOS 7

Cómo instalar Linux, Nginx, MariaDB, PHP (LEMP Stack) en Linux Mint 19

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

Cómo instalar LEMP en CentOS 7

Cómo instalar LEMP Stack en CentOS 8

Cómo instalar el servidor LEMP en CentOS 8

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