desarrolladorphp.com.

desarrolladorphp.com.

Despliegue de aplicaciones PHP en servidores web con Nginx: configuración avanzada

Introducción

Desplegar aplicaciones programadas en PHP en servidores web es una tarea común en el desarrollo web. Sin embargo, para aquellos que buscan una configuración avanzada, Nginx es una excelente opción. Nginx es un servidor web ligero y de alto rendimiento que puede mejorar la velocidad y la eficiencia de las aplicaciones PHP. En este artículo, exploraremos cómo configurar Nginx para desplegar aplicaciones PHP en servidores web.

Requisitos previos

Antes de comenzar, necesitamos asegurarnos de que nuestro sistema cumpla con algunos requisitos previos. En primer lugar, debemos tener acceso a un servidor web con administrador de paquetes. En segundo lugar, necesitamos tener instalado PHP y Nginx en nuestro servidor. Finalmente, necesitamos estar familiarizados con la línea de comandos y tener permisos de superusuario.

Configuración de Nginx

Instalación de Nginx

Para comenzar, debemos instalar Nginx en nuestro servidor web. Podemos hacerlo mediante la línea de comandos en un servidor Ubuntu utilizando el siguiente comando:

  • $ sudo apt-get update
  • $ sudo apt-get install nginx

Una vez finalizada la instalación, podemos verificar que Nginx está en ejecución escribiendo el siguiente comando:

  • $ systemctl status nginx

Si todo está funcionando correctamente, deberíamos ver un mensaje que indica que Nginx está en ejecución.

Configuración del servidor virtual de Nginx

Para desplegar nuestra aplicación PHP en Nginx, debemos crear un servidor virtual. Un servidor virtual nos permite tener varios sitios web diferentes alojados en una sola instancia de Nginx.

Para crear un servidor virtual, necesitamos crear un archivo de configuración adicional de Nginx. Podemos hacerlo escribiendo el siguiente comando:

  • $ sudo nano /etc/nginx/sites-available/mi_sitio_web

Este comando abrirá un nuevo archivo llamado 'mi_sitio_web' en el editor de texto Nano. Aquí, podemos agregar nuestra configuración virtual del servidor. Debemos incluir las siguientes líneas para configurar el servidor virtual:

  • server {
  • listen 80;
  • server_name ejemplo.com www.ejemplo.com;
  • root /var/www/html/ejemplo.com;
  • index index.php;
  • location / {
  • try_files $uri $uri/ /index.php?$query_string;
  • }
  • location ~ .php$ {
  • include snippets/fastcgi-php.conf;
  • fastcgi_pass unix:/run/php/php7.2-fpm.sock;
  • }
  • }

En este archivo de configuración, debemos reemplazar los valores de la configuración como sea apropiado para nuestro sitio web. Por ejemplo, debemos reemplazar 'ejemplo.com' con el nombre de nuestro sitio web, '/var/www/html/ejemplo.com' con el directorio raíz de nuestra aplicación PHP, y 'php7.2-fpm.sock' con la versión de PHP que estamos utilizando en nuestro servidor.

Una vez que hayamos hecho los cambios apropiados en nuestro archivo de configuración, debemos guardar los cambios y cerrar el archivo.

Activación del servidor virtual de Nginx

Una vez que hayamos configurado nuestro servidor virtual, debemos activarlo para que Nginx lo use. Podemos hacerlo creando un enlace simbólico en el directorio 'sites-enabled'. Escribimos el siguiente comando:

  • $ sudo ln -s /etc/nginx/sites-available/mi_sitio_web /etc/nginx/sites-enabled/

Una vez que hayamos creado el enlace simbólico, debemos asegurarnos de que nuestra configuración sea válida. Escribimos el siguiente comando:

  • $ sudo nginx -t

Si nuestra configuración es correcta, deberíamos ver un mensaje que indique que la verificación de sintaxis de Nginx se ha completado correctamente.

Finalmente, debemos reiniciar Nginx para que use nuestro nuevo servidor virtual. Escribimos el siguiente comando:

  • $ sudo systemctl restart nginx

Configuración de PHP

Instalación de PHP

Antes de continuar, debemos asegurarnos de tener instalado PHP en nuestro servidor. Escribimos el siguiente comando:

  • $ sudo apt-get update
  • $ sudo apt-get install php7.2-fpm php7.2-common php7.2-mysql php7.2-cli php7.2-json php7.2-opcache php7.2-mbstring php7.2-zip php7.2-gd php7.2-curl php7.2-intl php7.2-xml

Este comando instalará la versión 7.2 de PHP y varios módulos adicionales que se utilizan comúnmente con PHP.

Configuración de la versión de PHP

Una vez que hayamos instalado PHP, es posible que necesitemos cambiar la versión de PHP que usamos en nuestro servidor. Para hacerlo, debemos editar el archivo de configuración 'default' de PHP. Escribimos el siguiente comando:

  • $ sudo nano /etc/php/7.2/fpm/pool.d/www.conf

En este archivo, buscamos la línea que comienza con 'listen ='. Debemos cambiar el valor para que coincida con la versión de PHP que estamos utilizando en nuestro servidor.

Además, es posible que necesitemos ajustar los valores de memoria y tiempo de espera de PHP según las necesidades de nuestra aplicación. Podemos hacerlo en el archivo de configuración 'php.ini'. Escribimos el siguiente comando:

  • $ sudo nano /etc/php/7.2/fpm/php.ini

En este archivo, debemos buscar y modificar los valores apropiados según las necesidades de nuestra aplicación.

Resultados y conclusiones

En este artículo, hemos explorado cómo configurar Nginx y PHP para desplegar aplicaciones PHP en servidores web. Configurar un servidor virtual en Nginx nos permite tener varios sitios web diferentes alojados en una sola instancia de Nginx, y el uso de PHP proporciona la capacidad de procesar y servir dinámicamente contenido HTML.

Esperamos que este artículo haya sido útil para aquellos que buscan una configuración avanzada para el despliegue de aplicaciones PHP en servidores web con Nginx. Si tiene alguna pregunta o comentario, no dude en compartirlo a continuación.