Optimizando el servidor web con el módulo Pagespeed
Uno de los problemas que nos encontramos al desplegar nuestro proyecto web en un servidor es el rendimiento que nos ofrece. En muchos casos tenemos que montar un proyecto que no hemos desarrollado nosotros, o es un CMS como WordPress o PrestaShop desarrollado por otra tercera persona.
En estos casos tenemos que empezar a tocar las configuraciones del servidor, en el caso que tengamos el control de la cuenta de súper-usuario, si no tendríamos que contactar con el hosting para que nos modificara los valores deseados.
Una buena manera de empezar a optimizar nuestros servidores y proyectos, sería empezar por la instalación del módulo de apache2 “mod_pagespeed” desarrollado por Google, bajo el paraguas de Apache Incubator.
Este post será la parte 1 de unos cuántos post de optimización de servidores webs.
Este módulo está disponible para los siguientes sistemas:
Apache2:
- Debian/Ubuntu 32-bit .deb
- Debian/Ubuntu 64-bit .deb
- CentOS/Fedora 32-bit .rpm
- CentOS/Fedora 64-bit .rpm
Nginx
Debe ser compilado desde código fuente.
Instalación para apache2
Google nos facilita el paquete binario pre-compilado, así que es muy simple.
Primero debemos entrar en la siguiente URL: Descargar módulo pagespeed
Una vez descargado el paquete, con estos simples comandos podemos instalarlo:
Debian/Ubuntu
sudo dpkg -i mod-pagespeed-*.deb
sudo apt-get -f install
CentOS/Fedora
sudo yum install at # if you do not already have 'at' installed
sudo rpm -U mod-pagespeed-*.rpm
Configuración apache2
El primero archivo que debemos revisar es el siguiente: /etc/apache2/mods-available/pagespeed.conf
Este es el archivo global de configuración del módulo, aplicará a cualquier sitio alojado en el servidor.
Las configuraciones más importantes son las siguientes:
#Activar el módulo
ModPagespeed on
#Carpeta para guardar el cache
ModPagespeedFileCachePath "/var/cache/mod_pagespeed/"
#Carpeta de logs del módulo
ModPagespeedLogDir "/var/log/pagespeed"
#Carpeta de los certificados
ModPagespeedSslCertDirectory "/etc/ssl/certs"
#Carpeta de memoria compartida para aliviar la RAM.
ModPagespeedCreateSharedMemoryMetadataCache "/var/cache/mod_pagespeed/" 51200
#Inodos de cache
ModPagespeedFileCacheInodeLimit 500000
#Configuración del administrador web
#Es recomendable configurar un usuario y password de apache para el acceso
<Location /pagespeed_admin>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler pagespeed_admin
</Location>
<Location /pagespeed_global_admin>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler pagespeed_global_admin
</Location>
#Activar las estadisticas
ModPagespeedStatisticsLogging on
Configuración de un VirtualHost
Ahora configuraremos el VirtualHost de nuestro sitio: /etc/apache2/sites-available/nuestrositio.conf
#Configuración decente para un PrestaShop o WordPress
ModPagespeedDisallow *js_tinyMCE*
ModPagespeedDisallow *tiny_mce*
ModPagespeedDisallow *tinymce*
ModPagespeedRewriteLevel CoreFilters
ModPagespeedEnableFilters extend_cache
ModPagespeedEnableFilters prioritize_critical_css
ModPagespeedEnableFilters combine_css
ModPagespeedEnableFilters rewrite_css
ModPagespeedEnableFilters combine_javascript
ModPagespeedEnableFilters rewrite_javascript
ModPagespeedEnableFilters defer_javascript
ModPagespeedEnableFilters lazyload_images
ModPagespeedDisableFilters inline_css
ModPagespeedEnableFilters sprite_images
ModPagespeedEnableFilters convert_png_to_jpeg,convert_jpeg_to_webp
ModPagespeedEnableFilters recompress_webp
ModPagespeedEnableFilters collapse_whitespace,remove_comments
Instalación Nginx
Próximamente…
Configuración Nginx
Próximamente…
Configuración de un VirtualHost
Próximamente…
¿Qué más debo optimizar?
La activación de este módulo permite ganar mucha velocidad en nuestra web, pero no debemos quedarnos ahí. Hay mucho más trabajo que hacer.
En próximos post hablaremos de otras configuraciones que debemos aplicar a nuestro servidor web.