GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Nginx, MariaDB, PHP (pila LEMP) en Debian 9

LEMP (una pila de servidor) significa Linux, Nginx, MariaDB y PHP. Nginx es un servidor web HTTP gratuito, de código abierto y de alto rendimiento; conocido por su estabilidad, rico conjunto de funciones, configuración simple y bajo consumo de recursos.

Aquí, hablaremos sobre cómo instalar LEMP Stack en Debian 9 con soporte PHP (a través de PHP-FPM) y soporte MariaDB.

Instalar la pila LEMP

Instalar Linux

Aquí está la publicación sobre la instalación paso a paso de Debian 9 y la actualización de Debian 8 Jessie a Debian 9 Stretch. Continúe con la instalación de AMP (Nginx v1.14, PHP v7.3, MariaDB v10.3) en Debian 9.

Instalar Nginx

Instale los paquetes para la instalación de Nginx.

sudo apt-get update

sudo apt-get install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https

Descargue la clave de firma del repositorio de Nginx.

wget http://nginx.org/keys/nginx_signing.key

Agregue la clave pública de Nginx al sistema.

sudo apt-key add nginx_signing.key

Agregue el repositorio Nginx al sistema.

echo "deb http://nginx.org/packages/debian/ stretch nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

Instale el paquete Nginx usando el siguiente comando.

sudo apt-get update

sudo apt-get -y install nginx

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

sudo systemctl start nginx

Abra un navegador web y visite la siguiente URL.

http://tu-dirección-ip

Deberías ver la siguiente página. Esta página confirma que Nginx se instaló correctamente en el servidor.

Raíz de documentos predeterminada de Nginx en Debian 9 es /usr/share/nginx/html/ . Los archivos de configuración se encuentran en /etc/nginx/ directorio.

Instalar MariaDB

Ahora instalaremos el servidor MariaDB emitiendo el siguiente comando.

sudo apt-get -y install mariadb-server mariadb-client

A continuación, haga que el servidor MariaDB sea seguro mediante el comando mysql_secure_installation.

Instalar PHP-FPM

PHP-FPM (PHP-FastCGI Process Manager), una implementación alternativa de PHP FastCGI. Proporciona funciones adicionales útiles para sitios de cualquier tamaño, especialmente para sitios más concurridos.

Debian 9 viene con PHP 7.0 de forma predeterminada y ya está al final de su vida útil. Entonces, usaremos el repositorio SURY para obtener PHP 7.3.

wget https://packages.sury.org/php/apt.gpg

sudo apt-key add apt.gpg

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list

Actualice el índice del repositorio.

sudo apt-get update

Instale php-fpm emitiendo el siguiente comando.

sudo apt-get -y install php-fpm php-mysql php-cli

Editar php.ini.

sudo nano /etc/php/7.3/fpm/pool.d/www.conf

PHP-FPM escucha en el socket /var/run/php7.3-fpm.sock por defecto. Para hacer que PHP-FPM use una conexión TCP, abra el archivo /etc/php/7.3/fpm/pool.d/www.conf .

Cambiar la escucha parámetro.

DE:

listen = /run/php/php7.3-fpm.sock

PARA:

listen = 127.0.0.1:9000

Reiniciar PHP-FPM servicio.

sudo systemctl restart php7.3-fpm

Crear servidor virtual

Vamos a crear un host virtual basado en nombres en el servidor Nginx para obtener los siguientes detalles.

Nombre de dominio:server.itzgeek.local
Raíz del documento:/usr/share/nginx/html/itzgeek.local

Cree un archivo de configuración de host virtual /etc/nginx/conf.d/virtual.conf .

sudo nano /etc/nginx/conf.d/virtual.conf

Agrega el siguiente contenido.

server {
   server_name server.itzgeek.local;
   root /usr/share/nginx/html/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 /usr/share/nginx/html/itzgeek.local$fastcgi_script_name;
   }
}

Cree el directorio raíz para el host virtual.

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

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

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

Reinicie los servicios y permita que se inicien automáticamente al iniciar el sistema.

sudo systemctl restart nginx

sudo systemctl restart php7.3-fpm

Pila LEMP de prueba

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

vi /etc/hosts

Agregar entrada de host; la línea debería verse como a continuación.

192.168.1.10 server.itzgeek.local

Abra su navegador web y escriba su nombre de dominio en la dirección web. Ej.

http://servidor.itzgeek.local

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

De la captura de pantalla anterior, PHP está funcionando a través de FPM/FastCGI , como se muestra en la línea de la API del servidor. También puede ver la información de soporte de la base de datos en la parte inferior de la página.

Conclusión

Eso es todo. Comparta sus comentarios en la sección de comentarios.


Debian
  1. Cómo instalar Nginx en Debian 9

  2. Cómo instalar Phorum con Nginx en Debian 9

  3. Cómo instalar InvoicePlane con Nginx en Debian 9

  4. Cómo instalar LEMP Stack Nginx, MySQL, PHP en Debian 11

  5. Cómo instalar LEMP Stack en Debian 10 Buster

Cómo instalar WordPress con LEMP Stack en Debian 11 Bullseye

Cómo instalar MariaDB 10.6 en Debian 11

Cómo instalar LEMP Stack (Nginx, MariaDB y PHP) en AlmaLinux 8

Cómo instalar MariaDB en Debian 11

Cómo instalar la pila LEMP en Debian 11

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