Android

Configure o magento 2 para usar verniz no centos 7

Magento Tutorial #9 - Configurare Varnish con Magento 2

Magento Tutorial #9 - Configurare Varnish con Magento 2

Índice:

Anonim

A velocidade da página ou o tempo de carregamento são cruciais para o sucesso da sua loja online. O tempo de carregamento é a quantidade total de tempo que o conteúdo de uma página específica leva para carregar. Quanto maior o tempo de carregamento, menor a taxa de conversão. É também um dos fatores mais importantes que o Google considera para determinar a classificação dos mecanismos de pesquisa.

No primeiro post, instalamos o Magento 2 em nossa máquina CentOS 7. No segundo post desta série, abordaremos a instalação e configuração do Varnish para tornar nossa loja Magento super rápida.

Pré-requisitos

Certifique-se de ter seguido as instruções da primeira postagem e de ter o repositório EPEL ativado.

Como funciona

O Varnish não suporta SSL, portanto, precisamos usar outro serviço como um proxy de terminação SSL, no nosso caso, o Nginx.

Quando um visitante abre seu site por HTTPS na porta 443 a solicitação será tratada pelo Nginx, que funciona como um proxy e passa a solicitação ao Varnish (na porta 80). O verniz verifica se a solicitação está em cache ou não. Se estiver armazenado em cache, o Varnish retornará os dados armazenados em cache para o Nginx sem uma solicitação para o aplicativo Magento. Se a solicitação não for armazenada em cache, o Varnish passará a solicitação para o Nginx na porta 8080 que extrairá dados do Magento e o Varnish armazenará em cache a resposta.

Se um visitante abrir seu site sem SSL na porta 80 , ele será redirecionado para o URL HTTPS na porta 443 pelo Varnish.

Configurando o Nginx

Precisamos editar o bloco do servidor Nginx que criamos no primeiro post para lidar com a terminação SSL / TLS e como um back-end para o 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; } }

Também precisamos remover o bloco padrão do servidor Nginx do arquivo nginx.conf . Comente ou exclua as seguintes linhas:

/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 { # } # }…

Recarregue o serviço Nginx para que as alterações entrem em vigor:

sudo systemctl reload nginx

Instalando e configurando o verniz

O Varnish é um acelerador HTTP de proxy reverso rápido que fica na frente do servidor da Web e será usado como uma solução de Full Page Cache para a instalação do Magento.

Instale o Varnish via yum com o seguinte comando:

sudo yum install varnish

Para configurar o Magento para usar o Varnish, execute:

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

Em seguida, precisamos gerar um arquivo de configuração do Varnish:

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

O comando acima precisa ser executado como raiz ou usuário com privilégios sudo e criará um arquivo /etc/varnish/default.vcl usando os valores padrão que são localhost como localhost back-end e porta 8080 como porta de back-end.

A configuração padrão vem com uma URL incorreta para o arquivo de verificação de integridade. Abra o arquivo default.vcl e remova a parte /pub da linha destacada em amarelo:

/etc/varnish/default.vcl

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

Por padrão, o Varnish escuta na porta 6081 e precisamos alterá-lo para 80 :

/etc/varnish/varnish.params

VARNISH_LISTEN_PORT=80

Depois de concluir as modificações, inicie e ative o serviço Varnish:

sudo systemctl enable varnish sudo systemctl start varnish

Você pode usar a ferramenta varnishlog para visualizar solicitações da Web em tempo real e para depurar o Varnish.

Conclusão

Neste tutorial, mostramos como acelerar sua instância do Magento implementando o Varnish como um cache de página inteira.

magento ecommerce centos verniz

Esta publicação é parte de Como instalar e configurar o Magento 2 no CentOS 7 series.

Outras postagens nesta série:

• Instale o Magento 2 no CentOS 7 • Configure o Magento 2 para usar o Varnish no CentOS 7