GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Nginx con PHP-FPM en Debian 11

A lo largo de esta publicación, lo guiaremos paso a paso para instalar Nginx con PHP-FPM en Debian 11.

Antes de comenzar, es necesario explicar qué son Nginx y PHP-FPM para comprender mejor el proceso.

Nginx es un servidor web HTTP de código abierto que destaca por ser muy rápido y eficiente . Además, Nginx está listo para usarse como proxy inverso. En este modo, se usa para equilibrar la carga entre los servidores back-end, así como para usarse como caché en un servidor back-end más lento.

Una de las principales ventajas de usar Nginx es que procesa decenas de miles de conexiones simultáneas en un proceso de CPU compacto de varios núcleos. Por eso es tan ligero, eficiente y, sobre todo, robusto.

A diferencia de Apache, Nginx no tiene un módulo para admitir PHP . Entonces tenemos que recurrir a PHP-FPM para soporte completo. Entonces, PHP-FPM es la implementación alternativa más popular de PHP FastCGI , y aunque se usa para sitios web de alto tráfico, podemos usarlo para agregar compatibilidad con PHP a un servidor Nginx.

En esta publicación, aprenderá cómo instalarlos para tener un servidor web liviano con buen soporte PHP.

Instalar Nginx con PHP-FPM en Debian 11

Paso 1:Instalar Nginx en Debian 11

Lo primero que debe hacer es instalar Nginx en Debian 11. La ventaja de esta aplicación es que está presente en los repositorios oficiales de muchas distribuciones de Linux. Entonces, instalarlo no será un problema.

Abra una conexión SSH a su servidor y cuando esté dentro, actualice el sistema por completo.

sudo apt update
sudo apt upgrade

Ahora puedes instalar Nginx desde los repositorios oficiales así

sudo apt install nginx

Puede verificar el estado de Nginx para ver si la instalación fue exitosa.

sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-10-11 21:39:55 CEST; 9s ago
       Docs: man:nginx(8)
    Process: 1821 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 1822 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 2011 (nginx)
      Tasks: 2 (limit: 2276)
     Memory: 5.3M
        CPU: 42ms
     CGroup: /system.slice/nginx.service
             ├─2011 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             └─2014 nginx: worker process

Oct 11 21:39:55 atechtown systemd[1]: Starting A high performance web server and a reverse proxy server...
Oct 11 21:39:55 atechtown systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Oct 11 21:39:55 atechtown systemd[1]: Started A high performance web server and a reverse proxy server.

Luego, debe abrir los puertos en el firewall para que Nginx funcione. Esto se puede hacer ejecutando

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

De esta manera, cuando abra un navegador web y vaya a http://your-server-ip o http://your-domain verá la siguiente pantalla

Esto indica que Nginx se está ejecutando correctamente.

Recuerde que Nginx también es un servicio del sistema que puede administrar a través de systemctl comando para que pueda iniciarlo de la siguiente manera

sudo systemctl start nginx

Detente

sudo systemctl stop nginx

O reiniciarlo

sudo systemctl restart nginx

Con Nginx ejecutándose, podemos comenzar a jugar con PHP-FPM.

Paso 2:Instalar y configurar PHP-FPM

PHP-FPM es una implementación que hace el propio PHP. Así que instalarlo también instala el idioma. Entonces, para instalar PHP y PHP-FPM simplemente ejecute el siguiente comando

sudo apt install php php-fpm

Esto es suficiente, pero luego es necesario crear un nuevo archivo de configuración para nuestro sitio con PHP.

sudo nano /etc/nginx/sites-available/test.conf

Y agrega lo siguiente

server {
    listen 80;
    server_name your_domain;
    root /var/www/test;

    index index.html index.htm index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
     }

    location ~ /\.ht {
        deny all;
    }

}

Primero, el nombre del archivo, puedes cambiarlo, he elegido test para un ejemplo. Luego, debe cambiar el server_name directiva a su nombre de dominio. La root directiva se refiere a la ubicación del sitio en el disco duro que vamos a crear ahora.

Crear la carpeta del sitio

sudo mkdir -p /var/www/test/

Y dentro, un archivo PHP para la demostración.

sudo nano /var/www/test/test.php

Agrega algo de código PHP como phpinfo método.

<?php
phpinfo();
?>

Luego, habilite la nueva configuración.

sudo ln -s /etc/nginx/sites-available/test.conf /etc/nginx/sites-enabled/

Y reinicia Nginx

sudo systemctl restart nginx

Entonces, abra un navegador web y vaya a http://your-domain/test.php y verás lo siguiente

Entonces, ahora tenemos instalado Nginx con PHP-FPM en Debian 11.

Conclusión

En este post has aprendido a instalar Nginx con PHP-FPM en Debian 11 a través de una serie de pasos y configuraciones fáciles de aplicar y que te permitirán tener soporte PHP en Nginx.

Entonces, ayúdanos a crecer y déjanos un comentario. Además, si la publicación te ha ayudado, compártela con otros.

Sitio web de Nginx


Debian
  1. Cómo instalar el servidor HTTP Git con Nginx en Debian 11

  2. Cómo instalar Ghost en Debian con Nginx

  3. Cómo instalar DokuWiki en Debian Wheezy con Nginx

  4. Cómo instalar FuelPHP con Nginx en un VPS Debian 8

  5. Cómo instalar WordPress con Nginx en Debian 10

Cómo instalar Apache con PHP-FPM en Debian 10

Cómo instalar Nginx con PHP-FPM en Debian 10

Cómo instalar phpMyAdmin con Nginx en Debian 11 Bullseye

Cómo instalar phpMyAdmin con Nginx en Debian 11

Cómo instalar Nginx en Debian 7

Cómo instalar Nginx en el servidor en la nube Debian 8.2