Despliegue de aplicaciones PHP en servidores web con Nginx: configuración avanzada
Aprende cómo realizar una configuración avanzada de Nginx para el despliegue de aplicaciones PHP en servidores web en nuestro blog de desarrollo en PHP
Más vistos
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.