Android

Konfigurasi magento 2 untuk menggunakan varnis pada centos 7

Magento Tutorial #9 - Configurare Varnish con Magento 2

Magento Tutorial #9 - Configurare Varnish con Magento 2

Isi kandungan:

Anonim

Kelajuan halaman atau masa memuatkan adalah penting untuk kejayaan kedai dalam talian anda. Masa memuatkan ialah jumlah masa yang diperlukan kandungan pada halaman tertentu untuk dimuatkan. Semakin lama masa loading, semakin rendah kadar penukaran. Ia juga salah satu faktor terpenting yang Google anggap menentukan kedudukan enjin carian.

Dalam jawatan pertama, kami memasang Magento 2 pada mesin CentOS 7 kami. Dalam jawatan kedua siri ini, kami akan meliputi memasang dan mengkonfigurasi Varnish untuk membuat kedai Magento kami dengan pantas.

Prasyarat

Pastikan anda telah mengikuti arahan dari jawatan pertama dan anda mempunyai repositori EPEL .

Bagaimana ia berfungsi

Varnish tidak menyokong SSL, jadi kami perlu menggunakan perkhidmatan lain sebagai Proxy Penamatan SSL, dalam kes kami yang akan menjadi Nginx.

Apabila pelawat membuka laman web anda melalui HTTPS di port 443 permintaan itu akan dikendalikan oleh Nginx yang berfungsi sebagai proksi dan meluluskan permintaan untuk Varnish (pada port 80). Periksa pernis jika permintaan di-cache atau tidak. Sekiranya ia di-cache, Varnish akan mengembalikan data cache ke Nginx tanpa meminta permohonan Magento. Sekiranya permintaan itu tidak dilampirkan, Varnish akan meluluskan permintaan untuk Nginx pada port 8080 yang akan menarik data dari Magento dan Varnish akan menyembunyikan respons.

Sekiranya pelawat membuka laman web anda tanpa SSL pada port 80 maka ia akan diarahkan ke HTTPS pada URL 443 port oleh Varnish.

Mengkonfigurasi Nginx

Kami perlu mengedit blok pelayan Nginx yang kami buat dalam jawatan pertama untuk menangani penamatan SSL / TLS dan sebagai back-end untuk 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; } }

Kami juga perlu mengeluarkan blok pelayan Nginx lalai dari fail nginx.conf . Komen atau hapus baris berikut:

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

Muat semula perkhidmatan Nginx untuk perubahan yang akan dilaksanakan:

sudo systemctl reload nginx

Memasang dan Mengkonfigurasi Varnish

Varnish adalah pemecut HTTP-proksi yang cepat yang akan duduk di hadapan pelayan web kami dan ia akan digunakan sebagai penyelesaian Full Page Cache untuk pemasangan Magento kami.

Pasang Varnish melalui yum dengan arahan berikut:

sudo yum install varnish

Untuk mengkonfigurasi Magento untuk menggunakan larian Varnish:

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

Selanjutnya, kita perlu menjana fail konfigurasi Varnish:

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

Perintah di atas perlu dijalankan sebagai akar atau pengguna dengan hak istimewa sudo dan ia akan membuat fail /etc/varnish/default.vcl menggunakan nilai lalai yang localhost sebagai host back-end dan port 8080 sebagai port back-end.

Konfigurasi lalai datang dengan URL yang salah untuk fail pemeriksaan kesihatan. Buka fail default.vcl dan keluarkan bahagian /pub dari garis yang diserlahkan dalam warna kuning:

/etc/varnish/default.vcl

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

Secara lalai, Varnish mendengar pada port 6081 , dan kita perlu mengubahnya menjadi 80 :

/etc/varnish/varnish.params

VARNISH_LISTEN_PORT=80

Sebaik sahaja anda selesai dengan pengubahsuaian, mulakan dan dayakan perkhidmatan Varnish:

sudo systemctl enable varnish sudo systemctl start varnish

Anda boleh menggunakan alat varnishlog untuk melihat permintaan web masa nyata dan untuk debug Varnish.

Kesimpulannya

Dalam tutorial ini, kami telah menunjukkan kepada anda bagaimana untuk mempercepatkan contoh Magento anda dengan melaksanakan Varnish sebagai cache halaman penuh.

magento e-commerce centar varnis

Siaran ini adalah sebahagian daripada Cara memasang dan mengkonfigurasi Magento 2 pada siri CentOS 7.

Jawatan lain dalam siri ini:

• Pasang Magento 2 pada CentOS 7 • Konfigurasi Magento 2 untuk menggunakan Varnish pada CentOS 7