Hoy os queremos mostrar como instalar Varnish-Caché en Plesk Onyx con una máquina Centos 7 como servidor. Pero antes veremos qué es y como puede ayudarnos instalarlo.
Cuando dispones de un proyecto web que va creciendo día a día, te vas dando cuenta que lo que te valía en un principio se va quedando corto. Esto viene porque aumentan las visitas, amplías los contenidos y la página se hace cada vez más pesada. En ese momento es necesario revisar la parte servidora, para ayudar a tus lectores que mejoren su experiencia.
Varnish Caché puede ayudar en esto. Es un sistema que acelera la navegación web en el sitio donde se configura. Esto lo hace una tecnología de proxy inverso, se instala delante del servidor web liberándole de la carga que tiene que soportar. ¿Y cómo hace eso? Guarda copias de ciertos elementos pesados (ejemplo imágenes) haciendo que el servidor no tenga que volver a cargarlas repetidamente en cada visita.
Esto mejora sustancialmente la experiencia de usuario y libera de carga al servidor. Es verdad que hay muchos más factores que pueden provocar que el servidor no vaya “fino”, pero Varnish Caché seguro que ayuda a reducir tiempos de carga.
Apuntar también que es un sistema escalable (admite balanceo de carga) y fácilmente configurable, como os muestro:
Configuración Varnish Cache en Plesk Onyx y Centos 7
Instalar EPEL repositorio
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install epel-release-latest-7.noarch.rpmInstalar Varnish
<span class="crayon-e">yum </span><span class="crayon-e">install </span><span class="crayon-v">varnish</span>Configuración Varnish
<span class="crayon-v">vi</span> <span class="crayon-o">/</span><span class="crayon-v">etc</span><span class="crayon-o">/</span><span class="crayon-v">varnish/varnish.params</span> # VARNISH_LISTEN_ADDRESS=192.168.1.5 VARNISH_LISTEN_PORT=80 # Admin interface listen address and port VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1 VARNISH_ADMIN_LISTEN_PORT=6082Comprobar Varnish
varnishd -V
systemctl enable varnish
systemctl status varnishAhora modificamos default.vcl
vi /etc/varnish/default.vcl backend default { .host = "IP_WEB"; .port = "8080"; }Configuración Apache:
vi /etc/httpd/conf/httpd.conf # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 7080 Listen 8080Configuración PLESK
cd /usr/local/psa/admin/conf/templates cp -a default custom cd custom find . -type f | xargs sed -r -i~ 's/\{?\$VAR->server->webserver->httpPort\}?/8080/g'Lanzamos:
/usr/local/psa/admin/bin/httpdmng --reconfigure-allReinicio servicios:
systemctl restart varnish systemctl restart httpd systemctl restart varnish systemctl restart nginxComprobaciones:
[root@servidor-1 templates]# curl -I localhost HTTP/1.1 200 OK Date: Mon, 20 Feb 2017 09:10:34 GMT Server: Apache Last-Modified: Thu, 16 Jun 2016 12:25:45 GMT ETag: "e9f-53564565954d0" Content-Length: 3743 X-Powered-By: PleskLin Content-Type: text/html X-Varnish: 5 Age: 0 Via: 1.1 varnish-v4 Connection: keep-aliveY comprobamos uno de nuestros vhosts:
[root@servidor-1 templates]# curl -I https://www.maquinasvirtuales.eu HTTP/1.1 200 OK Server: nginx Date: Mon, 20 Feb 2017 09:11:26 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/7.0.15 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate Pragma: no-cache X-Pingback: https://www.maquinasvirtuales.eu/xmlrpc.php Link: <https://www.maquinasvirtuales.eu/wp-json/>; rel="https://api.w.org/", <https://www.maquinasvirtuales.eu/>; rel=shortlink Set-Cookie: PHPSESSID=87na7jihifd507ujtkk83rlr00; path=/ Set-Cookie: wfvt_992014284=58aab2be13dab; expires=Mon, 20-Feb-2017 09:41:26 GMT; Max-Age=1800; path=/; HttpOnly X-Frame-Options: SAMEORIGIN X-Powered-By: PleskLin X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block
Eliminar Varnish-Caché de Centos 7
Deshacer cambios
rm –rf /usr/local/psa/admin/conf/templates/custom
/usr/local/psa/admin/bin/httpdmng --reconfigure-allReiniciamos servicios:
systemctl restart varnish systemctl restart httpd systemctl restart varnish systemctl restart nginxComprobamos cada servicio:
systemctl status varnish systemctl status httpd systemctl status varnish systemctl status nginx
La entrada Configuración Varnish Cache en Plesk Onyx y Centos 7 aparece primero en VMware Blog.