GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar Nginx para trabajar con PHP a través de PHP-FPM

Este tutorial paso a paso le mostrará cómo instalar y configurar Nginx para ejecutar PHP en su servidor usando PHP-FPM.

Nginx + PHP es uno de los grupos de software más populares que puede usar para crear su sitio web. Este tutorial paso a paso le mostrará cómo instalar y configurar Nginx para ejecutar PHP en su servidor usando PHP-FPM.

Nginx es la combinación ideal con PHP-FPM. Es un servidor web estable reconocido por su impresionante rendimiento y bajo consumo de recursos.

PHP se ejecuta como un servicio aislado cuando usa PHP-FPM. Emplear esta versión de PHP como intérprete de lenguaje significa que las solicitudes se procesarán a través de un socket UNIX. El servidor Nginx solo manejará solicitudes HTTP, mientras que PHP-FPM interpreta el código PHP.

1. Instalando Nginx

Ubuntu / Debian

Debido a que Nginx está disponible en los repositorios predeterminados de Debian y Ubuntu, es posible instalarlo desde estos repositorios utilizando el sistema de empaquetado apt.

sudo apt install nginx

CentOS / AlmaLinux / Rocky Linux

Para obtener la última versión de Nginx, los usuarios de CentOS, AlmaLinux o Rocky Linux primero deben instalar el repositorio EPEL.

EPEL (Extra Packages for Enterprise Linux) es un proyecto de repositorio basado en la comunidad gratuito y de código abierto del equipo de Fedora que proporciona paquetes de software complementarios de alta calidad para distribuciones de Linux basadas en RHEL.

sudo yum install epel-release

Luego puede instalar el servidor Nginx.

sudo yum install nginx

Fedora

Nginx está disponible en los repositorios predeterminados de Fedora y se puede instalar directamente usando dnf administrador de paquetes.

sudo dnf install nginx

2. Instalando PHP-FPM

Ubuntu / Debian

Para instalar PHP en Ubuntu o Debian, simplemente ejecute el siguiente comando:

sudo apt install php-fpm

CentOS

La versión de PHP disponible por defecto en los servidores de CentOS está desactualizada. Por ese motivo, necesitaremos instalar un repositorio de paquetes de terceros para obtener PHP 7.

CentOS 7

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm

CentOS 8

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm

3. Configuración de NGINX para ejecutar PHP usando PHP-FPM

Una vez que Nginx y PHP están instalados, podemos configurar Nginx para enviar solicitudes de PHP a PHP-FPM.

Tendremos que crear un archivo de configuración de bloque de servidor Nginx para ejecutar PHP con FPM. Después de eso, puede crear un nuevo VirtualHost según sus requisitos, habilitando cualquier nuevo VirtualHost.

sudo vim /etc/nginx/sites-available/example.com

Reemplaza example.com con el dominio o la dirección IP de su sitio y la root directiva con el directorio raíz de su sitio.

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm;
        server_name example.com;
 
        location / {
            try_files $uri $uri/ =404;
        }
 
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }
}

Guarde sus cambios en el archivo de configuración y cree un enlace al directorio habilitado del sitio.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com 

Asegúrese de que el nombre del archivo de socket de PHP (en nuestro caso, php7.4-fpm.sock ) especificado en el fastcgi_pass directiva es correcta.

ls -l /var/run/php/
total 4
-rw-r--r-- 1 root     root      5 Dec  1 17:43 php7.4-fpm.pid
srw-rw---- 1 www-data www-data  0 Dec  1 17:43 php7.4-fpm.sock
lrwxrwxrwx 1 root     root     30 Dec  1 17:43 php-fpm.sock -> /etc/alternatives/php-fpm.sock

Si el nombre es diferente de php7.4-fpm.sock , simplemente reemplácelo en el bloque del servidor que se muestra arriba con el actual de su servidor.

Luego reinicie el servicio Nginx para recargar los cambios.

sudo systemctl restart nginx.service

4. Probar la configuración

Cree un archivo PHP de prueba para verificar que PHP-FPM funciona y está integrado con Nginx. En el bloque del servidor anterior, nuestro sitio se sirve desde /var/www/html , por lo que crearemos un archivo de prueba allí:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Finalmente, accede a info.php desde un navegador web, utilizando el dominio de su sitio o la dirección IP del servidor. Debería ver la página de configuración de PHP:

Conclusión

¡Felicidades! Configuró Nginx para manejar solicitudes de PHP a través de PHP-FPM.

Hay algunos pasos siguientes que podría tomar desde aquí. Por ejemplo, debe asegurarse de que las conexiones a su servidor estén seguras. Pero, ¿cómo hacerlo?

Siga nuestro tutorial paso a paso para adquirir un certificado Let's Encrypt SSL gratuito para su servidor.


Linux
  1. Cómo configurar origen Cloudflare SSL con Nginx

  2. ¿Cómo configurar servidores de registro remotos con rsyslog?

  3. Cómo instalar PHP 7.4 con Nginx en Ubuntu 20.04

  4. ¿Cómo ejecutar varias versiones de PHP con Nginx en Ubuntu?

  5. Cómo instalar PHP-FPM con Apache en Ubuntu 20.04

Cómo configurar Nginx con SSL

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

Cómo configurar PHP-FPM con NGINX

Cómo configurar Load Balancing con NGINX en Jelastic Cloud

Cómo instalar y configurar NGINX y PHP en Jelastic Cloud

Cómo instalar y configurar Memcached con Apache y PHP