Rumah >pembangunan bahagian belakang >tutorial php >Cara Menggunakan Varnis dan Cloudflare Untuk Caching Maksimum
mata teras
/etc/default/varnish
hingga 80. Varnis dan nginx mesti dimulakan semula untuk perubahan yang berlaku. /lib/systemd/system/varnish.service
Artikel ini adalah sebahagian daripada siri artikel mengenai aplikasi sampel bangunan (blog galeri multi-imej) untuk penandaarasan dan pengoptimuman prestasi. (Lihat repositori di sini.)
Untuk mengetahui lebih lanjut mengenai Gtmetrix dan alat lain yang boleh digunakan untuk mengukur dan debug prestasi, lihat prestasi pemuatan halaman yang lebih baik: Pingdom, Yslow, dan Gtmetrix .
marilah kita menggunakan apa yang kita pelajari dalam artikel varnis sebelumnya, serta pengetahuan yang kami perolehi dalam pengenalan kepada CDN dan pengenalan kepada artikel Cloudflare untuk benar -benar menyesuaikan penghantaran kandungan pelayan kami.
varnis
Varnis dicipta hanya untuk menjadi cache super sebelum pelayan biasa.
Nota: Memandangkan Nginx itu sendiri adalah pelayan yang cukup baik, orang biasanya memilih satu daripada kedua -duanya. Tidak ada kemudaratan dalam kedua -duanya pada masa yang sama, tetapi anda mesti berhati -hati dengan masalah kegagalan cache yang mungkin. Kedua -duanya mesti ditetapkan dengan betul supaya cache salah satu cache tidak kekal basi apabila cache yang lain dikemas kini. Ini boleh menyebabkan kandungan yang berbeza dipaparkan kepada pelawat yang berbeza. Menetapkan item ini adalah di luar skop artikel ini dan akan diterangkan dalam panduan masa depan.
kita boleh memasang varnis dengan melakukan perkara berikut:
<code>curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add - sudo apt-get update sudo apt-get install -y apt-transport-https</code>senarai repositori semasa Ubuntu tidak mempunyai varnis 5, jadi repositori tambahan diperlukan. Jika fail
tidak wujud, buatnya. Tambahkan yang berikut: /etc/apt/sources.list.d/varnishcache_varnish5.list
<code>deb https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main deb-src https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main</code>Kemudian, jalankan:
<code>curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add - sudo apt-get update sudo apt-get install -y apt-transport-https</code>
Hasilnya harus sama dengan:
<code>deb https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main deb-src https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main</code>
Kemudian, kami menukar port lalai pelayan ke 8080. Kami melakukan ini kerana varnis akan berada di port 80 dan mengemukakan permintaan kepada 8080 seperti yang diperlukan. Jika anda melakukan pembangunan tempatan di Homestead bertambah baik seperti pada permulaan siri ini, fail yang anda perlukan untuk mengedit terletak di /etc/nginx/sites-available/homestead.app
. Jika tidak, ia mungkin dalam /etc/nginx/sites-available/default
.
<code>sudo apt-get update sudo apt-get install varnish varnishd -V</code>
Seterusnya kita akan mengkonfigurasi varnis sendiri dengan mengedit /etc/default/varnish
dan menggantikan port lalai pada baris pertama (6081) dengan 80:
<code>$ varnishd -V varnishd (varnish-5.2.1 revision 67e562482) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2015 Varnish Software AS</code>
Operasi yang sama juga diperlukan dalam /lib/systemd/system/varnish.service
:
<code>server { listen 8080 default_server; listen [::]:8080 default_server ipv6only=on;</code>
Akhirnya, kita boleh memulakan semula varnis dan nginx untuk perubahan yang berkuatkuasa:
<code>DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m"</code>Perintah terakhir adalah untuk membuat varnish.service daemon tetapan yang telah diedit sebelumnya juga, jika tidak, ia hanya akan mempertimbangkan perubahan pada fail
. Oleh kerana pada masa ini terdapat kesilapan, Varnis tidak melepaskan port dengan betul kecuali ia dilakukan, dan oleh itu proses berhenti perlu dimulakan. /etc/default/varnish
nota
Ini berlaku kerana kami menggunakan imej rawak untuk mengisi galeri kami, dan sampel rawak kecil, jadi beberapa imej ini kelihatan berulang kali. Ini hebat dan tidak akan menjadi masalah selepas laman web dimasukkan ke dalam pengeluaran. Malah, ini adalah kes yang jarang berlaku di mana skor lalai laman web dalam pengeluaran akan lebih baik daripada dalam pembangunan.
Cloudflare
Seterusnya, mari kita sediakan Cloudflare. Pertama, mari daftar akaun:
Cloudflare kemudian akan mengimbas dan menyalin rekod sedia ada ini, yang membolehkan anda menambah rekod yang hilang jika sistem anda gagal mengenali semua rekod.
Anda boleh menggunakan papan pemuka CloudFlare untuk melihat tahap akaun dan tetapan yang digunakan untuk nama domain yang diberikan.
Selepas perkhidmatan diaktifkan, kami dapat membandingkan hasil GTMetrix baru dengan hasil lama.
Walaupun YSLOW lebih suka kita 6% sekarang, nampaknya kita boleh berbuat lebih banyak, kerana integrasi Cloudflare jelas melambatkan laman web kami turun sebanyak 23%.
Sayangnya, ini tidak sesuai. YSLOW lebih suka kami kerana kami mempunyai mampatan yang lebih baik dan permintaan yang lebih sedikit, tetapi alat -alat ini nampaknya tidak betul mengkonfigurasi tetapan tertentu yang telah bekerja lebih baik sebelum ini. Mari matikan dan jelaskan cache, tetapan sebelumnya lebih baik.
Pelarasan lain yang mungkin
Jangan lupa Favicon!
Menambah Favicon sentiasa idea yang baik - kurang 404 permintaan dan kelihatan lebih baik dalam penyemak imbas. Selain itu, rajah air terjun jelas memberitahu kita bahawa kira -kira 1.6 saat kira -kira 330 milisaat digunakan untuk menunggu Favicon!
Anda mungkin telah datang ke jawatan ini selepas melangkau pengoptimuman Nginx. Adalah disyorkan agar anda menggunakan teknik juga. Tweak yang dilakukan dalam siaran ini sebenarnya telah digunakan untuk versi langsung laman web dan oleh itu ke pelayan yang berbeza daripada dalam jawatan. Varnis dan nginx yang diselaraskan di sini akan menghasilkan hasil yang lebih baik:
<code>curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add - sudo apt-get update sudo apt-get install -y apt-transport-https</code>
Ini kerana mereka memuat beberapa pada satu masa, sementara fail lain menunggu fail sebelumnya dimuatkan. Dengan HTTP/2, isu ini hilang dan keseluruhan laman web memuat lebih cepat, memuat turun pelbagai fail melalui sambungan yang sama. Satu kaveat ialah laman web memerlukan sijil. Pada masa kini, menggunakan Let's Encrypt sangat mudah dilaksanakan. Satu lagi kaveat ialah anda perlu membina semula dengan nginx yang mengandungi modul HTTP/2, jadi anda perlu membuat beberapa tweak pada pelayan. Satu lagi kaveat ialah sokongan varnis untuk http/2 masih dalam beta dan tidak boleh terlalu bergantung.
Untuk mengetahui cara mengkonfigurasi varnis dan http/2, lihat tutorial ini.
Kesimpulan
Kami menggunakan varnis sebagai lapisan caching tambahan dan pelan percuma Cloudflare sebagai CDN kami, yang meningkatkan skor GTMetrix kami dengan ketara. Walaupun proses pengoptimuman kami mungkin terlalu banyak untuk aplikasi yang mudah, ia telah diketahui dari hari ke hari bahawa aplikasi kami dapat mengendalikan beratus -ratus ribu pengguna sesaat tanpa terhempas, semuanya pada $ 10 satu unit di pelayan, ini sangat menenangkan .
Jika kita terlepas sebarang langkah dan anda mengenali petua prestasi lain yang boleh kita lakukan, beritahu kami!
FAQ untuk caching maksimum dengan varnis dan cloudflare
Apakah faedah utama menggunakan varnis dan cloudflare dalam kombinasi?
Varnis berfungsi bersempena dengan Cloudflare dengan caching kandungan statik laman web dan menjadikannya tersedia untuk pelawat. Apabila pelawat meminta halaman, Varnis memeriksa sama ada ia mempunyai versi cache halaman. Jika ya, ia akan menyediakan halaman cache kepada pelawat. Jika tidak, ia mendapat halaman dari pelayan, cache, dan kemudian memberikannya kepada pelawat. Cloudflare, sebaliknya, bertindak sebagai proksi terbalik antara pelawat dan varnis. Ia menyediakan caching tambahan dan melindungi laman web anda dari lalu lintas yang berniat jahat.
Walaupun Cloudflare menyediakan fungsi caching, ia tidak dapat secara langsung menggantikan cache varnis. Varnis Cache adalah pemecut HTTP yang kuat yang direka untuk laman web dinamik dan kaya kandungan. Ia sangat fleksibel dan boleh disesuaikan dengan keperluan khusus anda. Sebaliknya, Cloudflare adalah perkhidmatan CDN yang menyediakan pelbagai perkhidmatan, termasuk caching, tetapi ia tidak disesuaikan sebagai varnis. Oleh itu, hasil terbaik dapat diperoleh dengan menggabungkan kedua -duanya.
Ia memerlukan beberapa langkah untuk menggunakan Cloudflare dengan varnis. Pertama, anda perlu memasang dan mengkonfigurasi varnis pada pelayan. Kemudian anda perlu menyediakan Cloudflare untuk bekerja dengan varnis. Ini termasuk menukar tetapan DNS anda untuk menunjuk kepada CloudFlare, dan mengkonfigurasi CloudFlare untuk menyingkirkan kandungan laman web anda dan menyampaikan lalu lintas ke varnis.
Turpentine adalah lanjutan magento yang meningkatkan keserasian antara magento dan varnis. Ia menyediakan penyelesaian caching yang lebih kuat dan fleksibel untuk kedai Magento. Walaupun ia tidak mempunyai hubungan langsung dengan Cloudflare, menggunakan turpentin dengan varnis dapat meningkatkan prestasi kedai Magento, dan CloudFlare dapat meningkatkan prestasi ini.
Peraturan halaman Cloudflare membolehkan anda mengawal bagaimana Cloudflare mengendalikan bahagian -bahagian yang berlainan dari laman web anda. Anda boleh menggunakan peraturan ini untuk meningkatkan keupayaan caching Varnis. Sebagai contoh, anda boleh membuat peraturan untuk memintas cache Cloudflare halaman tertentu, yang membolehkan varnis mengendalikan cache halaman tersebut.
Ya, anda boleh menggunakan varnis dan cloudflare untuk laman web WordPress anda. Kedua -dua varnis dan cloudflare adalah WordPress yang serasi dan dapat meningkatkan prestasi laman web WordPress dengan ketara.
Menggunakan varnis dan CloudFlare mempunyai kesan positif terhadap SEO. Dengan meningkatkan kelajuan pemuatan laman web anda, mereka dapat meningkatkan pengalaman pengguna dan meningkatkan kedudukan SEO anda. Google telah menegaskan bahawa kelajuan laman web adalah salah satu isyarat yang digunakan algoritma untuk menduduki halaman.
Masalah yang berpotensi dengan menggunakan varnis dan cloudflare adalah kemungkinan caching berganda, iaitu kedua -dua varnis dan cloudflare cache kandungan yang sama. Ini boleh menyebabkan kandungan ketinggalan zaman diberikan kepada pelawat. Untuk mengelakkan ini, anda perlu mengkonfigurasi dengan teliti varnis dan cloudflare untuk memastikan mereka bekerjasama dengan berkesan.
Masalah penyelesaian masalah dengan varnis dan cloudflare melibatkan memeriksa konfigurasi kedua -dua perkhidmatan, memeriksa log pelayan, dan menggunakan alat seperti varnishlog dan varnishstat. Jika anda masih menghadapi masalah, anda boleh mendapatkan bantuan dari komuniti varnis dan Cloudflare atau menghubungi pasukan sokongan mereka.
Atas ialah kandungan terperinci Cara Menggunakan Varnis dan Cloudflare Untuk Caching Maksimum. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!