Magento 2 Nginx Php7 Varnish 4 e Percona Server
Tabla de contenido:
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:
… # 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:
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:
….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
:
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 magentoEsta 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 76 formas listas para usar de usar una cámara móvil
¿Sabía que la cámara de su teléfono inteligente es mucho más que hacer clic en selfies e imágenes? ¡Sigue leyendo para saber más!
Instalar magento 2 en centos 7
Magento es una plataforma de comercio electrónico basada en tecnología de código abierto que combina características potentes con flexibilidad e interfaz fácil de usar. En este tutorial, lo guiaremos a través de los pasos para instalar Magento 2 en su máquina CentOS 7.
Cómo instalar y configurar magento 2 en centos 7
En esta serie, lo guiará a través de los pasos necesarios para instalar Magento 2 en un servidor CentOS con Nginx, MariaDB y PHP 7.1.







