Rumah >pembangunan bahagian belakang >tutorial php >Cara Menggunakan Varnis dan Cloudflare Untuk Caching Maksimum

Cara Menggunakan Varnis dan Cloudflare Untuk Caching Maksimum

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌asal
2025-02-08 09:48:13424semak imbas

How to Use Varnish and Cloudflare for Maximum Caching

mata teras

    Penggunaan kolaboratif varnis dan CloudFlare memaksimumkan keupayaan caching laman web dan meningkatkan kelajuan pemuatan dan pengalaman pengguna dengan ketara. Varnis adalah proksi terbalik HTTP yang kuat, manakala CloudFlare adalah rangkaian pelayan proksi yang diedarkan secara global yang menyediakan prestasi dan keselamatan.
  • Pemasangan dan konfigurasi varnis melibatkan menukar port lalai pelayan ke 8080 dan menggantikan port lalai dalam
  • dan /etc/default/varnish hingga 80. Varnis dan nginx mesti dimulakan semula untuk perubahan yang berlaku. /lib/systemd/system/varnish.service
  • Tetapan CloudFlare memerlukan pendaftaran akaun dan nama domain. Pelayan nama domain mesti dikemas kini untuk menunjuk ke pelayan nama Cloudflare, jadi CloudFlare mempunyai kawalan penuh ke atas nama domain. Alat pemampatan automatik dan roket Automatik Cloudflare mengoptimumkan laman web.
  • Tweak lain boleh dibuat untuk meningkatkan prestasi, seperti menambah favicon, menggunakan pengoptimuman nginx, dan mengaktifkan HTTP/2 dengan varnis. Walau bagaimanapun, varnis dan cloudflare mesti dikonfigurasi dengan teliti untuk bekerjasama dengan berkesan dan mengelakkan masalah yang berpotensi seperti caching berganda.

Artikel ini adalah sebahagian daripada siri artikel mengenai aplikasi sampel bangunan (blog galeri multi-imej) untuk penandaarasan dan pengoptimuman prestasi. (Lihat repositori di sini.)


Seperti yang ditunjukkan dalam laporan ini, halaman log masuk laman web kami sangat cepat dan skor secara keseluruhan, tetapi ia boleh menggunakan lapisan cache yang lain dan juga menggunakan CDN untuk benar -benar mendapat prestasi yang baik.

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

Bandingkan hasil dengan hasil sebelumnya dan kita dapat melihat bahawa perbezaannya kecil sejak halaman log masuk telah dioptimumkan.

How to Use Varnish and Cloudflare for Maximum Caching nota

Dua skor rendah terutamanya kerana kita "tidak berkhidmat dari URL yang konsisten", seperti yang dikatakan GTMetrix:

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. How to Use Varnish and Cloudflare for Maximum Caching

Cloudflare

Seterusnya, mari kita sediakan Cloudflare. Pertama, mari daftar akaun:

Oleh kerana CloudFlare memerlukan penggunaan beberapa tetapan DNS, perlu melampirkan nama domain ke alamat IP (iaitu, tidak mungkin hanya menggunakan alamat IP pelayan sasaran seperti yang kita lakukan dalam ujian kami), jadi kami patut Daftar nama domain demo untuk tujuan ini. Saya kini boleh menggunakan nama domain lama saya caimeo.com, tetapi pertama, saya perlu menggunakan rekod A untuk menyambungkan nama domain ke alamat IP DigitalOcean Dropet:

How to Use Varnish and Cloudflare for Maximum Caching

Cloudflare kemudian akan mengimbas dan menyalin rekod sedia ada ini, yang membolehkan anda menambah rekod yang hilang jika sistem anda gagal mengenali semua rekod.

How to Use Varnish and Cloudflare for Maximum Caching

Pada akhir proses ini, pelayan nama domain pendaftar asal perlu dikemas kini supaya mereka menunjuk kepada pelayan nama Cloudflare. Pada ketika ini, CloudFlare akan mengawal nama domain anda sepenuhnya (walaupun mungkin mengambil masa sehingga 24 jam untuk menyebarkan kepada semua pelawat yang mungkin).

Anda boleh menggunakan papan pemuka CloudFlare untuk melihat tahap akaun dan tetapan yang digunakan untuk nama domain yang diberikan.

How to Use Varnish and Cloudflare for Maximum Caching 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%. How to Use Varnish and Cloudflare for Maximum Caching

Pertama, mari kita cuba menghidupkan autokompresi (di bawah kelajuan di papan pemuka Cloudflare) dan membersihkan cache sepenuhnya (di bawah cache). Kemudian, sebelum membandingkan, kami akan menjalankan ujian beberapa kali supaya cache panas dengan betul.

lebih baik! Beberapa ujian tambahan boleh membawa ia lebih dekat ke masa pemuatan 1.4 saat yang asal, tetapi mari kita lihat juga alat Rocket Loader Cloudflare. Ia berada dalam fasa beta dan berfungsi dengan menggabungkan semua JavaScript (walaupun fail luaran) ia dapat mencari dan memuatkan fail tersebut secara asynchronously. Ia kemudian cache sumber -sumber ini secara tempatan dalam penyemak imbas, bukannya refetching mereka dari pelayan jauh. Bandingkan di sini.

How to Use Varnish and Cloudflare for Maximum Caching

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.

How to Use Varnish and Cloudflare for Maximum Caching 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!

kejayaan! Selepas menambah Favicon, kami mengurangkannya dengan 300 milisaat lagi.

pelarasan nginx

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>

How to Use Varnish and Cloudflare for Maximum Caching

http/2

Pertimbangkan menggunakan varnis untuk mengaktifkan http/2. Bolehkah anda melihat penyumbatan ini dalam rajah air terjun?

How to Use Varnish and Cloudflare for Maximum Caching 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?

Manfaat utama menggunakan varnis dan cloudflare adalah untuk memaksimumkan keupayaan caching laman web anda. Varnis adalah proksi terbalik HTTP yang dapat meningkatkan kelajuan laman web sehingga 1000%, sementara CloudFlare adalah rangkaian pelayan proksi yang diedarkan secara global yang dapat memberikan prestasi dan keselamatan untuk laman web anda. Apabila digabungkan, mereka dapat meningkatkan kelajuan pemuatan laman web dengan ketara, meningkatkan pengalaman pengguna dan meningkatkan kedudukan SEO anda.

bagaimana varnis berfungsi dengan Cloudflare?

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.

Bolehkah saya menggunakan Cloudflare dan bukannya cache varnis?

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.

Bagaimana untuk mengkonfigurasi Cloudflare dan Varnis?

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.

Apa itu turpentin, dan bagaimana ia berkaitan dengan varnis dan cloudflare?

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.

Bagaimana menggunakan peraturan halaman Cloudflare dengan varnis?

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.

Bolehkah saya menggunakan varnis dan cloudflare untuk laman web wordpress?

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.

Bagaimana menggunakan varnis dan cloudflare mempengaruhi SEO?

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.

Apakah masalah yang berpotensi apabila menggunakan varnis dan cloudflare dalam kombinasi?

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.

Bagaimana menyelesaikan masalah dengan varnis dan cloudflare?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn