Optimizar un servidor Nginx 2/2

Optimizar un servidor Nginx.

El siguiente articulo es la continuación de este anterior, seguimos con la optimización de un servidor Nginx.

Tal vez te interese leer este articulo donde se explica su instalación como proxy inverso, este otro donde se brindan unos consejos de seguridad en Nginx.

En esta segunda y ultima parte veremos como configurar las caches correctamente en un servidor Nginx.

 

Cache del cliente

La manera más sencilla de reducir las peticiones de un servidor Nginx, es que los clientes crean que el contenido esta actualizado

Estableceremos encabezados que admitan caché, para ello declararemos que todas las imágenes, etc…, están con un limite de tiempo.

 

Como ejemplo y a 30 días:

Como ves, hemos desactivado el registro de archivos multimedia y configurado varios sufijos que se considerarán válidos (por tanto no se solicitaran) durante 30 días.

 

Cache Filehandle

Si estás sirviendo una gran cantidad de archivos estáticos, es una buena idea el mantener abierto el controlador de archivos a archivos solicitados, de forma que evitaremos que este abriendo y cerrando constantemente.

Solo debes habilitarlo si no estas editando ningún archivo. Los accesos a los archivos están en la memoria caché, los errores 404 también se almacenarán en la caché, de la misma forma que los que cuentan los tamaños de archivos, por tanto si modificas un archivo el servidor respondera con archivos obsoletos o inexistentes.

Puedes usar este ejemplo, en el archivo de configuración de Nginx, o incluso en el propio encabezado del HTTP:

Este codigo le dice al servidor que guarde en caché 2000 controladores de archivos abiertos, cerrando los  controladores que no tienen hits en 20 segundos. Los identificadores en caché se consideran válidos durante 60 segundos y solo los archivos a los que se accedió cinco veces se considerarán adecuados para el almacenamiento en caché.

El resultado es que los archivos a los que se accede con más frecuencia tienen identificadores almacenados en caché, lo que reducirá los accesos al sistema de archivos.

 

Tunear PHP en un servidor Nginx

Este apartado es importante, sobre todo si usas cms del estilo WordPress.

Como Nginx no tiene un  mod_php,de forma nativa, la forma recomendada de ejecutar aplicaciones PHP implica el uso de PHP-FPM . Para usar PHP-FPM, las peticiones de proxy para los archivos PHP, son las siguientes:

Este código usara un socket de unix, por tanto debes asegurarte de modificar…

de esta forma escuchara el socket del dominio, no de la red.

 

PHP-FPM, por defecto inicia excesivos procesos hijos, te recomiendo que los bajes:

 

El valor 12 es un ejemplo, prueba tu servidor con carga para ver cuando obtienes mejor rendimiento.

Deberías configurar PHP-FPM para que reinicie automáticamente, si hay algún problema.

En el ejemplo, reiniciaremos PHP-FPM en caso de que diez procesos secundarios mueran en un 1 minuto, también dejaremos pasar 10 segundos antes del reinicio.

agregamos…

 

Como ultimo apunte… usa el Zend Opcache, mejorara el rendimiento incluso al montar PHP-FPM.

Optimizar un servidor Nginx 2/2
4.5 (90%) 4 Votos

Agregar comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.