Androide

Configure magento 2 para usar barniz en centos 7

Magento 2 Nginx Php7 Varnish 4 e Percona Server

Magento 2 Nginx Php7 Varnish 4 e Percona Server

Tabla de contenido:

Anonim

La velocidad de la página o el tiempo de carga es crucial para el éxito de su tienda en línea. El tiempo de carga es la cantidad total de tiempo que tarda en cargar el contenido de una página específica. Cuanto más largo sea el tiempo de carga, menor será la tasa de conversión. También es uno de los factores más importantes que Google considera para determinar la clasificación de los motores de búsqueda.

En la primera publicación, instalamos Magento 2 en nuestra máquina CentOS 7. En la segunda publicación de esta serie, cubriremos la instalación y configuración de Varnish para hacer que nuestra tienda Magento sea súper rápida.

Prerrequisitos

Asegúrese de haber seguido las instrucciones de la primera publicación y de que tenga habilitado el repositorio EPEL .

Cómo funciona

Varnish no es compatible con SSL, por lo que debemos usar otro servicio como proxy de terminación SSL, en nuestro caso será Nginx.

Cuando un visitante abre su sitio web a través de HTTPS en el puerto 443 la solicitud será manejada por Nginx, que funciona como un proxy y pasa la solicitud a Varnish (en el puerto 80). Barniz comprueba si la solicitud se almacena en caché o no. Si está en caché, Varnish devolverá los datos en caché a Nginx sin una solicitud a la aplicación Magento. Si la solicitud no se almacena en caché, Varnish pasará la solicitud a Nginx en el puerto 8080 que extraerá datos de Magento y Varnish almacenará en caché la respuesta.

Si un visitante abre su sitio web sin SSL en el puerto 80 , Varnish lo redireccionará a HTTPS en el puerto 443 URL.

Configurando Nginx

Necesitamos editar el bloque de servidor Nginx que creamos en la primera publicación para manejar la terminación SSL / TLS y como back-end para Varnish.

/etc/nginx/conf.d/example.com.conf

upstream fastcgi_backend { server unix:/run/php-fpm/magento.sock; } server { listen 127.0.0.1:8080; server_name example.com www.example.com; set $MAGE_ROOT /opt/magento/public_html; set $MAGE_MODE developer; # or production include snippets/letsencrypt.conf; include /opt/magento/public_html/nginx.conf.sample; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location / { proxy_pass http://127.0.0.1; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Port 443; } }

También necesitamos eliminar el bloque predeterminado del servidor Nginx del archivo nginx.conf . Comente o elimine las siguientes líneas:

/etc/nginx/nginx.conf

… # server { # listen 80 default_server; # listen:80 default_server; # server_name _; # root /usr/share/nginx/html; # # # Load configuration files for the default server block. # include /etc/nginx/default.d/*.conf; # # location / { # } # # error_page 404 /404.html; # location = /40x.html { # } # # error_page 500 502 503 504 /50x.html; # location = /50x.html { # } # }…

Vuelva a cargar el servicio Nginx para que los cambios surtan efecto:

sudo systemctl reload nginx

Instalación y configuración de barniz

Varnish es un acelerador HTTP rápido de proxy inverso que se ubicará frente a nuestro servidor web y se utilizará como una solución de Full Page Cache completa para nuestra instalación de Magento.

Instala Varnish a través de yum con el siguiente comando:

sudo yum install varnish

Para configurar Magento para usar Varnish run:

php /opt/magento/public_html/bin/magento config:set --scope=default --scope-code=0 system/full_page_cache/caching_application 2

A continuación, necesitamos generar un archivo de configuración de Varnish:

sudo php /opt/magento/public_html/bin/magento varnish:vcl:generate > /etc/varnish/default.vcl

El comando anterior debe ejecutarse como root o usuario con privilegios de sudo y creará un archivo /etc/varnish/default.vcl utilizando los valores predeterminados que son localhost como host back-end y el puerto 8080 como puerto back-end.

La configuración predeterminada viene con una URL incorrecta para el archivo de comprobación de estado. Abra el archivo default.vcl y elimine la parte /pub de la línea resaltada en amarillo:

/etc/varnish/default.vcl

….probe = { #.url = "/pub/health_check.php";.url = "/health_check.php";.timeout = 2s;.interval = 5s;.window = 10;.threshold = 5; }…

Por defecto, Varnish escucha en el puerto 6081 , y necesitamos cambiarlo a 80 :

/etc/varnish/varnish.params

VARNISH_LISTEN_PORT=80

Una vez que haya terminado con las modificaciones, inicie y habilite el servicio Varnish:

sudo systemctl enable varnish sudo systemctl start varnish

Puede usar la herramienta varnishlog para ver solicitudes web en tiempo real y para depurar Varnish.

Conclusión

En este tutorial, le mostramos cómo acelerar su instancia de Magento implementando Varnish como caché de página completa.

barniz centos de comercio electrónico magento

Esta publicación es parte de Cómo instalar y configurar Magento 2 en la serie CentOS 7.

Otras publicaciones en esta serie:

• Instale Magento 2 en CentOS 7 • Configure Magento 2 para usar Varnish en CentOS 7