Dificultad tutorial: Media Conocimientos a tener: Medios
¿qué es pagespeed?
El page speed o velocidad de la página es el tiempo que utiliza una página para cargar, es decir, cuánto demora para mostrarle al usuario todo su contenido.
El page speed es una muestra de la velocidad de todo el sitio web, ya que cada una de las páginas puede tener una velocidad un poco diferente de carga. Sin embargo, por ser la misma estructura, la variación de la velocidad entre cada una de las páginas de un sitio web es mínima.
Para lograr esto utilizaremos, el ya conocido en esta guia de tutoriales nginx proxy manager, al que añadiremos el modulo de google pagespeed.
Parámetros de la plantilla nginx proxy manager.
Añadiremos en primer lugar un nuevo path, para alojar lo que será el modulo de pagespeed.
Guardamos y cerramos. Damos permisos de ejecución .
Ejecuta el siguiente código para hacer ejecutable el archivo.
chmod+xspeed.sh
Añadir entrada para ejecución al iniciar.
Añadiremos el siguiente código en la plantilla, tal y como muestra la foto.
--entrypoint=/data/entrypoint_speed.sh
Soporte de conversión WebP.
Webp o «weppy» que es como muchos lo pronuncian, es un formato gráfico en forma de contenedor que surge en el año 2010 de la mano de Google y que soporta tanto la compresión con pérdida como sin ella.
Comprueba que se ha instalado correctamente la compatibilidad WebP con el siguiente comando.
php -m | grep imagick
El resultado será imagick si la instalación ha sido correcta.
Verifica la configuración .
Reinicia NGINX y verifica que no aparecen errores.
nginx -t
Configuración de los filtros para pagespeed.
Los filtros son un ejemplo, que pueden valer o no para tu instalación, tendrás que comprobar su correcto funcionamiento, aconsejo seguir esta guia oficial, donde puedes encontrar todos. https://www.pagespeedguide.com/documentation/optimizations
Continuamos en la terminar del Docker, ahora vamos a crear la carpeta y el archivo de configuración de filtros.
vim /data/nginx/custom/pagespeed.conf
Pegamos el siguiente código de filtros.
###enable pagespeed on the server block###pagespeedon;# pagespeed Domain https://www.example.com; PON TU DOMINIO# pagespeed Domain https://example.com; PON TU DOMINIO###Add this line if your website runs on HTTPS###pagespeed FetchHttps enable;###Set up admin location#### admin consolepagespeed Statistics on;pagespeed StatisticsLogging on;pagespeed StatisticsLoggingIntervalMs 60000;pagespeed StatisticsLoggingMaxFileSizeKb 1024;pagespeed MessageBufferSize 100000;pagespeed LogDir /var/log/pagespeed;pagespeed AdminPath /pagespeed_admin;###Specify the file cache folder that you created earlier###pagespeed FileCachePath /etc/nginx/ngx_pagespeed_cache;###Set the cache settings, you can play around with these numbers###pagespeed FileCacheSizeKb 102400;pagespeed FileCacheCleanIntervalMs 3600000;pagespeed FileCacheInodeLimit 500000;pagespeed LRUCacheKbPerProcess 1024;pagespeed LRUCacheByteLimit 16384;###OPTIONAL: use Memcached to further increase performance of pagespeed###pagespeed MemcachedThreads 1;pagespeed MemcachedServers "localhost:11211";###Ensure requests for pagespeed optimized resources go to the pagespeed handler#### and no extraneous headers get set.location~".pagespeed.([a-z].)?[a-z]{2}.[^.]{10}.[^.]+" { add_header """"; }location~"^/pagespeed_static/" { }location~"^/ngx_pagespeed_beacon$" { }###Set the most common safe filters### pagespeed RewriteLevel CoreFilters; # ATENCION ESTE FILTRO TIENES QUE ADAPTARLO A TUS NECESIDADES https://www.pagespeedguide.com/documentation/optimizations
###SECURE THE ADMIN LOCATION FROM BAD BOTS AND MALICOUS ACTORS###location~^/pagespeed_admin { allow 127.0.0.1; allow 192.168.1.25; # introduce tu ip local deny all; }
Puedes pegar esto otro y no el anterior e ir añadiendo opciones para evitar errores, asi podras personalizar tu archivo de filtros.
abrimos la interfaz de NGINX y vamos a la siguiente ruta
Setting=>Edit=>Custom Page y pegamos el siguiente código.
<!DOCTYPEhtml><htmllang="en"> <head> <metacharset="utf-8"> <metahttp-equiv="X-UA-Compatible"content="IE=edge"> <metaname="viewport"content="width=device-width, initial-scale=1"> <title>Comprobar pagespeed</title> <linkhref="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"rel="stylesheet"> <style>.jumbotron { margin-top:50px; } </style> </head> <body> <divclass="container"> <divclass="jumbotron"> <h1>Congratulations!</h1> <p>You've successfully started the Nginx Proxy Manager.</p> <p>If you're seeing this site then you're trying to access a host that isn't set up yet.</p> <p>Log in to the Admin panel to get started.</p> </div> <p class="text-center"><small>Powered by <a href="https://github.com/jc21/nginx-proxy-manager" target="_blank">Nginx Proxy Manager</a></small></p>
</div> </body></html>t
Guardamos y vamos a la siguiente ruta desde la interfaz
/data/nginx/default_host/site.conf, añadimos la siguiente lineá como se ve el la foto.
include /data/nginx/custom/pagespeed.conf;
Guardamos y abrimos el terminar, ejecutamos la siguiente lineá.
curl-Ilocalhost
Si aparece X-Page-Speed todo va ok, ya puedes personalizar tus filtros.
Si ya tienes instalado el modulo geoip2 de mis tutoriales sigue las indicaciones en Next: Geoip2