Android

Skonfiguruj magento 2, aby używać lakieru na centos 7

How to install Magento 2 on Centos 7 [Complete Guide]

How to install Magento 2 on Centos 7 [Complete Guide]

Spisu treści:

Anonim

Szybkość strony lub czas ładowania są kluczowe dla sukcesu Twojego sklepu internetowego. Czas ładowania to całkowity czas ładowania treści na określonej stronie. Im dłuższy czas ładowania, tym niższy współczynnik konwersji. Jest to również jeden z najważniejszych czynników, które Google uważa za określające rankingi wyszukiwarek.

W pierwszym poście zainstalowaliśmy Magento 2 na naszej maszynie CentOS 7. W drugim poście z tej serii omówimy instalację i konfigurację lakieru, aby nasz sklep Magento był super szybki.

Wymagania wstępne

Upewnij się, że postępujesz zgodnie z instrukcjami z pierwszego postu i masz EPEL repozytorium EPEL .

Jak to działa

Varnish nie obsługuje protokołu SSL, dlatego musimy użyć innej usługi jako serwera proxy terminacji SSL, w naszym przypadku będzie to Nginx.

Gdy odwiedzający otworzy twoją stronę internetową przez HTTPS na porcie 443 żądanie zostanie obsłużone przez Nginx, który działa jako serwer proxy i przekazuje żądanie do Varnish (na porcie 80). Lakier sprawdza, czy żądanie jest buforowane, czy nie. Jeśli jest buforowany, Varnish zwróci buforowane dane do Nginx bez żądania do aplikacji Magento. Jeśli żądanie nie zostanie zapisane w pamięci podręcznej, Lakier przekaże żądanie do Nginx na porcie 8080 który pobierze dane z Magento, a Lakier zbuforuje odpowiedź.

Jeśli odwiedzający otworzy twoją witrynę bez SSL na porcie 80 , zostanie przekierowany do HTTPS na porcie 443 URL przez Varnish.

Konfigurowanie Nginx

Musimy edytować blok serwera Nginx, który utworzyliśmy w pierwszym poście, aby obsłużyć zakończenie SSL / TLS i jako zaplecze dla 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; } }

Musimy również usunąć domyślny blok serwera Nginx z pliku nginx.conf . Skomentuj lub usuń następujące wiersze:

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

Ponownie załaduj usługę Nginx, aby zmiany odniosły skutek:

sudo systemctl reload nginx

Instalowanie i konfigurowanie lakieru

Varnish to szybki akcelerator HTTP z odwrotnym proxy, który będzie znajdować się przed naszym serwerem WWW i będzie używany jako rozwiązanie Full Page Cache dla naszej instalacji Magento.

Zainstaluj Lakier przez yum za pomocą następującego polecenia:

sudo yum install varnish

Aby skonfigurować Magento do używania uruchamiania Varnish:

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

Następnie musimy wygenerować plik konfiguracyjny Varnish:

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

Powyższe polecenie musi zostać uruchomione jako użytkownik root lub użytkownik z uprawnieniami sudo i utworzy plik /etc/varnish/default.vcl przy użyciu wartości domyślnych, które to localhost jako localhost zaplecza i port 8080 jako port zaplecza.

Domyślna konfiguracja zawiera niewłaściwy adres URL pliku kontroli poprawności. Otwórz plik default.vcl i usuń część /pub z linii podświetlonej na żółto:

/etc/varnish/default.vcl

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

Domyślnie Varnish nasłuchuje na porcie 6081 i musimy go zmienić na 80 :

/etc/varnish/varnish.params

VARNISH_LISTEN_PORT=80

Po zakończeniu modyfikacji uruchom i włącz usługę Lakier:

sudo systemctl enable varnish sudo systemctl start varnish

Możesz użyć narzędzia varnishlog do przeglądania żądań internetowych w czasie rzeczywistym i do debugowania Varnish.

Wniosek

W tym samouczku pokazaliśmy, jak przyspieszyć instancję Magento, wdrażając Varnish jako pamięć podręczną pełnej strony.

magento ecommerce centos lakier

Ten post jest częścią poradnika Jak zainstalować i skonfigurować Magento 2 w serii CentOS 7.

Inne posty z tej serii:

• Zainstaluj Magento 2 na CentOS 7 • Skonfiguruj Magento 2, aby używać Lakier na CentOS 7