Este tutorial sigue Instalar WordPress en la nube de Amazon, que muestra cómo optimizar su sitio con el almacenamiento en caché.
Si usted es anfitrión de WordPress, es recomendable implementar algún tipo de solución de almacenamiento en caché. Si desea ejecutar su blog en una micro instancia económica en Amazon Cloud (AWS) o si espera que su blog obtenga escalas significativas o picos de tráfico, el almacenamiento en caché será fundamental para administrar el rendimiento. El almacenamiento en caché también puede ayudar a mejorar la velocidad de su página de Google, lo que afecta su clasificación en los motores de búsqueda.
Según el tráfico de su sitio y la complejidad de su tema de WordPress, el rendimiento puede ser bastante lento en AWS. Mi recomendación es combinar el uso del Caché de Varnish de código abierto con el complemento gratuito W3 Total Cache (W3TC).
Varnish es un caché que almacena copias de páginas para usuarios que no han iniciado sesión (la mayoría de los lectores no). Cuando las solicitudes llegan a su servidor, Varnish devuelve estas páginas preconstruidas instantáneamente en lugar de requerir que Apache, PHP y WordPress reconstruyan la página para cada solicitud. A medida que aumenta el tráfico, la reconstrucción de cada página a través de la pila de WordPress puede, literalmente, bloquear su servidor. Más adelante, W3 Total Cache se puede configurar para precompilar regularmente las páginas de su sitio para que siempre estén listas para Barnizar.
Nota: Esta también es una buena razón para considerar un complemento de comentarios externos como Disqus en lugar de los comentarios integrados de WordPress.. El JavaScript Disqus es cacheable. Si sus comentaristas inician sesión en su sitio de WordPress, el almacenamiento en caché se utilizará con menos frecuencia y su escalabilidad para sus visitantes más activos se reducirá considerablemente.
El poder de Barniz es dramático cuando el interés en su sitio aumenta. He ejecutado exitosamente mi propio sitio con esta configuración usando una pequeña instancia de Amazon por aproximadamente $ 14.95 al mes, manejando exitosamente muchas apariciones en BoingBoing, Slashdot et al.
Si desea obtener más información sobre el almacenamiento en caché, sus beneficios y W3TC, lea la introducción de Ahmad Awais al almacenamiento en caché..
Varnish Cache es un módulo de almacenamiento en caché para Linux. Configuraremos Varnish para escuchar el tráfico HTTP (web) en el puerto 80 con Apache escuchando solo a Varnish en el puerto 8080. Cuando Varnish necesita una página para crearla manualmente, pasará la solicitud al puerto 8080 de Apache..
Esto puede ser un poco confuso al principio, pero sí, esencialmente estamos moviendo a Apache detrás de escena. Barniz actuará como puerta de entrada en el puerto 80 para todas sus solicitudes web. Apache actuará en un rol de apoyo para Varnish en el puerto 8080. No hay tráfico público en el puerto 8080, solo solicitudes privadas de Varnish. Si tiene curiosidad acerca de cómo se relaciona esto con los grupos de seguridad de AWS, no es necesario abrir el puerto 8080.
Para empezar, necesitamos instalar Varnish en nuestra instancia:
sudo apt-get install barniz
Edite el archivo ports.conf de Apache para escuchar en el puerto 8080:
sudo nano /etc/apache2/ports.conf
Esto es lo que debería ser:
Escuchar 8080
Edite el archivo de configuración del sitio de Apache para responder al puerto 8080:
sudo nano /etc/apache2/sites-available/wordpress.conf
Cambie la línea VirtualHost de *: 80 a *: 8080
Es posible que deba cambiar el sitio predeterminado de Apache para escuchar en el puerto 8080 o deshabilitarlo:
sudo a2dissite 000-default
Mueva los archivos de configuración originales de Varnish a su directorio de inicio como copias de seguridad (en caso de que decida revisarlos más adelante):
sudo mv / etc / default / varnish ~ / default-varnish-old sudo mv /etc/varnish/default.vcl ~ / varnish-default-vcl.old
Reemplace la configuración por defecto de Varnish con el archivo disponible aquí en gist. Puedes usar copiar y pegar.
sudo nano / etc / default / barniz
Luego, reemplace la configuración de Varnish VCL con el archivo gist aquí (de nuevo copie y pegue).
Advertencia: puede obtener errores de VCL cuando intente reiniciar Varnish si no mantiene correctamente los saltos de línea al pegar. Los saltos de línea pueden ser difíciles de detectar, así que repáselos con cuidado. Si hay errores al reiniciar Varnish, es bastante bueno decirle qué número de línea debe mirar.
sudo nano /etc/varnish/default.vcl
Ahora, vamos a reiniciar Apache y Barnizar:
reinicio de sudo apache2 reinicio de sudo reinicio de barniz
Recuerde, si recibe errores de VCL en este punto, puede deberse a saltos de línea rotos por pegar en el archivo Varnish default.vcl.
Visite su sitio en http://yourdomain.com y todo debería comenzar a trabajar con Varnish. La segunda vez que cargue una página estática, debería ser significativamente más rápida.
W3 Total Cache es un excelente complemento de WordPress. Es gratis y proporciona una tremenda optimización del rendimiento para su sitio. Puede obtener más información sobre W3 Total Cache en su sitio de complementos.
Ingrese a su página de administración de WordPress en http://sudominio.com/wp-admin usando el nombre de usuario y la contraseña que configuró durante la configuración. Seleccione Complementos -> Agregar nuevo en el menú de la barra lateral izquierda. Buscar W3 Total Cache.
Debido a su potencia y sofisticación, W3 Total Cache tiene una amplia variedad de configuraciones que pueden parecer abrumadoras. A continuación, proporciono algunas configuraciones recomendadas que facilitan el inicio.
No te sientas abrumado. Comience con la configuración general que se muestra a continuación y vaya desde allí. Si estás interesado en comenzar más rápido., He proporcionado instrucciones para descargar mis configuraciones predeterminadas e importarlas (se muestra más abajo).
Alternativamente, W3 Total Cache ofrece instalación y soporte de pago desde $ 150 y más. Puede acceder a ellos a través de la página del Panel de control de complementos o su sitio web. Este es un gran complemento, así que me siento bien por recomendarlos. He tenido alguna experiencia con su apoyo pagado y es generalmente bueno. También puede consultar la descripción general de la instalación de W3 Total Cache y las preguntas frecuentes en el sitio web del complemento para obtener más detalles..
En un nivel alto, recomiendo activar las siguientes configuraciones que detallamos más detalladamente a continuación:
sudo apt-get install php5-dev php5-memcache memcached php-pear build-essential php5-tidy php5-curl apache2-dev php-apc
Edite su archivo php.ini para activar memcache:
sudo nano /etc/php5/apache2/php.ini
En la sección Extensiones dinámicas, agregue las siguientes líneas:
extension = apc.so extension = memcache.so
Dígale a Apache que active estos módulos y reinícielo:
sudo a2enmod rewrite sudo a2enmod expira sudo a2enmod headers sudo servicio apache2 reinicio
Edite su archivo wp-config.php para habilitar el almacenamiento en caché:
sudo nano /var/www/wordpress/wp-config.php
Agregue la siguiente definición de WP_CACHE sobre la línea de edición de parada:
define ('WP_CACHE', true); / * Eso es todo, deja de editar! Feliz blogging. * /
En este punto, es útil visitar el Panel de control del complemento W3TC y verificar que todos los componentes adecuados estén activos. Pero primero, debemos habilitar Fancy Permalinks para formatos de URL, lo que optimizará nuestro sitio para la indexación de motores de búsqueda. Desde el Panel de administración de WordPress, seleccione Configuración -> Permalinks, elija Día y nombre y haga clic en Guardar cambios.
Luego, en la barra lateral izquierda, haga clic en Rendimiento -> Panel de control, luego haga clic en el botón Verificación de compatibilidad. Debería verse algo como esto:
Nota: puede ahorrar algo de tiempo si elige un tema e instala los otros complementos que planea usar antes de completar el resto del proceso de configuración de W3 Total Cache. Cambiar los temas y agregar complementos probablemente requerirá que limpie y vuelva a probar la configuración de caché total de W3.
W3TC generalmente funciona bien con su configuración predeterminada. Por lo tanto, primero deberemos configurar la página Configuración general y no ir a cada área de función individual.
Visita la página de configuración general de W3TC. En la barra lateral izquierda, haga clic en Rendimiento -> Configuración general. Podemos realizar una configuración de alto nivel aquí, pero también haremos configuraciones más detalladas en páginas de configuración individuales. Lo dejo (sin marcar) "Activar o desactivar todos los tipos de almacenamiento en caché (a la vez)" en el cuadro general.
Habilitar la caché de página con Opcode Alternative PHP Cache (APC):
Habilita Minify con las siguientes configuraciones. Uso el modo manual porque Minify puede romper algunos temas si tu configuración es demasiado agresiva (sin embargo, tu tema elegido puede funcionar bien):
Dejo desactivado / desactivado el almacenamiento en caché de la base de datos, ya que esto se recomienda solo si no activa el almacenamiento en caché de objetos.
Habilitar la caché de objetos:
Habilitar el caché del navegador:
Habilitar proxy inverso:
Configure W3TC para purgar regularmente el caché de barniz desde 127.0.0.1 (localhost).
En la barra lateral izquierda, haga clic en Rendimiento -> Caché de página. Desplácese hacia abajo hasta el cuadro de precarga de caché. Habilitar "Automáticamente la memoria caché de la página". Introduce la URL de tu sitemap.
Nota: Necesitará tener instalado el Mejor complemento de WordPress Google XML Sitemaps antes de que esto funcione correctamente.
Si usa un CAPTCHA en los formularios de contacto, querrá incluir la ruta a estas páginas en la exclusión de caché. Cachear un CAPTCHA romperá la funcionalidad. Desplácese hacia abajo hasta el cuadro Configuración avanzada. Añade la ruta de tu archivo, por ejemplo. contactos aqui
Debido a que mi tema es receptivo, almaceno en caché los agentes de usuarios de dispositivos móviles y tabletas por separado. En otras palabras, Varnish almacena en caché copias de varios diseños sensibles de mi sitio. Cuando un usuario móvil llega al sitio, obtiene un archivo específico en lugar de cuando llega un usuario de escritorio. Si el contenido de su sitio responde dinámicamente (por ejemplo, solo cambios en Javascript y CSS), no tendrá que hacerlo.
Si desea hacer esto, habilite Grupos de agentes de usuario alto y bajo:
También habilito Grupos de Referencia para motores de búsqueda:
Minify comprime su código HTML, JS y CSS y combina archivos cuando es posible. Esto acelera la entrega de sus páginas y reduce el ancho de banda. Sin embargo, a veces puede romper el código del tema.
Es posible que tenga que ajustar la configuración para el tema elegido. Encontré que al desactivar la minificación de CSS en línea, mi tema funciona bien. En la barra lateral izquierda, haga clic en Rendimiento -> Reducir:
Si prefieres comenzar importando mi archivo de configuración, sigue estos pasos:
Definitivamente vale la pena activar un CDN. El CDN es muy útil para reducir la carga general en su servidor. Por ejemplo, W3TC puede redirigir las solicitudes de imágenes y archivos estáticos como scripts y css a la CDN de Amazon.
Si desea hacerlo, siga las instrucciones en mi sitio para activar Amazon CloudFront. Actualmente estoy usando el método Pull (mi tutorial describe el método Push más antiguo).
Hay muchas formas diferentes de controlar el rendimiento de su servidor. W3TC admite la integración con el módulo de monitoreo New Relic. W3TC ofrece un widget de panel para Google Page Speed y también hay un complemento de Google Page Speed para WordPress. Estos serán útiles para evaluar el rendimiento continuo de sus blogs..
Ahora debe ser el orgulloso propietario de un sitio de WordPress totalmente optimizado y alojado en la nube de Amazon utilizando Varnish y W3 Total Cache. Espero que hayas encontrado útil esta serie de dos partes. Por favor, háganos saber qué funcionó bien para usted y qué no.