Varnish Cache nedir ve Plesk’e kurulumu

Varnish Cache nedir ve neden kullanmalısınız?
Web siteniz yoğun trafik alıyor mu? Sunucu yükünü azaltacak ve web sitesi hızını artıracak bir çözüm mü arıyorsunuz? Varnish, ihtiyacınız olan şey olabilir.

Varnish Cache, yinelenen istekleri dinler ve web sitenizin sayfalarının önbelleğe alınmış bir sürümünü sunar ve bu sayede kullanıcılarınızın istekleriyle sunucunuz arasında aracılık eder. Varnish’i nasıl etkinleştirirsiniz? Varnish Cache plesk’e nasıl entegre olarak çalışır Bu makalede, tek tıklamayla Docker konteynerini kullanarak Varnish ile web sitenizin hızını nasıl kolayca artırabileceğinizi göstereceğim.

Varnish gibi bir web sitesi önbellek çözümünü kullanmanın hem sayfa yanıt sürelerini hem de web

sitenizdeki maksimum eşzamanlı ziyaretçi sayısını kolayca iyileştirebileceğini göstereceğim.

varnishcache-nedir.png

Varnish HTTP Önbelleği, isteğin çıktısını sanal belleğe önbelleğe alarak sunucunuzdaki yükü azaltmaya yardımcı olan bir yazılımdır. Sözde HTTP hızlandırıcısı ve yalnızca HTTP’ye odaklanmıştır. Varnish açık kaynaktır ve Wikipedia gibi yüksek trafikli web siteleri tarafından kullanılır.

Çok sayıda günlük ziyaretçiniz varsa, önbellek mekanizmasını kullanmanızı öneririm. Sunucu, zaten önbelleğe alınmış verileri, web sunucusunda kaynak tüketen işlemleri gerçekleştirmeden, doğrudan bellekten istemciye geri gönderebildiğinden, önemli ölçüde düzeldiğini göreceksiniz. Ek olarak, CPU üzerindeki yükü azaltır, böylece sunucu aşırı yüklenmeden birçok talebi daha yerine getirebilir.

Docker konteynerinde Vernik Çalıştırma
Docker, Varnish’i çalışan bir sunucuya eklemeyi inanılmaz derecede kolaylaştıran harika bir açık kaynak projesidir. Varnish’i direkt olarak sunucuya (İşletim sistemine) yüklememiz gerekmez, kullanıma hazır bir Varnish Docker imajı kullanırız. Asıl avantajı, kapta bir sorun olursa, onu kolayca çıkarabilir ve saniyeler içinde yeni bir kabı sıkıştırabiliriz. Docker konteynerlerinin tasarım şekli, Varnish’in her zaman sistem ortamından bağımsız olarak çalışacağını garanti eder.

Bu derste, Varnish’i etkinleştirmek için Plesk’teki yeni entegre Docker desteğini kullanacağım. Plesk arayüzü, terminal kullanmadan sadece Varnish yapılandırma dosyasının küçük değişikliklerini yapmanızı ve çalıştırmanızı kolaylaştırır.

Diğer bir gelişme, Varnish Docker imajını yeniden yapılandırmak ve konfigürasyonumuzu Plesk UI’den bir parametre olarak almasıdır. Şimdilik orijinal Docker görüntüsüne bağlı kalacağım ve yapılandırmamızı kabuk yoluyla yükleyeceğim.

Plesk’te Vernik’i etkinleştirin ve statik bir sayfada test edin
Önce Plesk’in varsayılan statik sayfasında deneyelim. Varsayılan ayarlarda, Plesk, Apache için Nginx’i ters proxy sunucusu olarak kullanır. Bu, Nginx’in 80 numaralı bağlantı noktasını (HTTPS için 443) ve Apache’yi bir dahili bağlantı noktasına (7080 HTTP, 7081 HTTPS) dinlediği anlamına gelir.

Varnish konteynerimizi iki web sunucusu arasına iteceğiz. Bu senaryoda, Varnish isteği Nginx’ten ve içeriği Apache’den alır. Endişelenmenize gerek yok :), göründüğünden daha kolay!

Docker’a gidin ve Docker Image Catalogue’deki million12/varnish imajını arayın. Bulduktan sonra “çalıştır” a tıkladığınızda Plesk görüntüyü yerel makinenize indirir. İndirme işleminden sonra, kabın yapılandırma sayfasını açacak olan “çalıştır (yerel)” seçeneğini tıklayın. Değişeceğimiz tek şey port haritalaması.

varnish-1.png

“Automatic port mapping” seçeneğindeki onay işaretini kaldırın ve “Manual mapping” seçeneği için harici bir port seçin (bu derste 32780 portunu kullanacağım). Bu, kabın 80 numaralı bağlantı noktasının 32780 numaralı dış bağlantı noktası ile eşleştirildiği anlamına gelir.

Bir proxy kuralı ekleyerek bu dış bağlantı noktası üzerinden kap ile “konuşabiliriz”. Varnish’teki arka uç sunucusunu, bir “önbellek kaçırma” meydana geldiğinde verilerin toplanacağı Apache portuna ayarlayacağız.

Statik sayfada Varnish testi

Varnish entegrasyonumuzu statik bir sayfada test etmek için bir alt etki alanı oluşturun. Alt etki alanı oluşturulduktan sonra, “Hosting Ayarları” na gidin ve “SSL / TLS desteği” ve “Kalıcı SEO güvenli 301 seçeneklerini HTTP’den HTTPS’ye yeniden yönlendirin” seçeneklerini devre dışı bırakın, çünkü önce Varnish işlevini HTTP üzerinden test etmek istiyoruz.

Tamam, peki talepleri Vernik konteynerine nasıl yönlendirebiliriz? Bu, etki alanına genel bakışta bulacağınız Docker Proxy Kuralları seçeneğiyle kolayca yapılabilir.

varnish-2.png

“Kural Ekle” ye tıklayın ve daha önce yaratılmış olan kabı ve manuel olarak girdiğimiz port eşlemesini seçin. Seçim yapamazsanız, kabınız çalışmıyor demektir. Bu durumda, menüdeki Docker’ı tıklamanız ve önce kabı başlatmanız gerekir.

Proxy kuralını etkinleştirdikten sonra alt etki alanını açarsanız, Error 503 Backend fetch failedgöreceksiniz. Panik yapmayın, bu beklenen bir davranış. Varnish arka uç sunucusunu henüz yapılandırmadık!

varnish-3.png


SSH kullanarak Docker kapsayıcısındaki Varnish’i uygun şekilde yapılandırın
Varnish ve dosker kabı için ssh açmamız gereken tek nokta burası. Şimdi SSH aç ve alttakini yaz.

$ ssh [email protected] // Kullanıcı adınızla değiştirin ve IP adresini doğrulayın

Öncelikle, Docker konteynerimizin kimliğini bulmamız gerekiyor. Tüm aktif konteyner tiplerini komut satırına listelemek için;

Kod:
docker ps
varnish-4.png

Docker kimliğini kopyalayın ve Docker kabına erişmek için aşağıdaki komutu kullanın
Kod:
$ docker exec -it ID bash  //Kimliği doğru kap kimliği ile değiştirin
Tamam, yapılacak en önemli şey, dosyadaki varsayılan arka uç sunucusu için ana bilgisayar ve bağlantı noktası değerini değiştirmek. /etc/varnish/default.vcl .host için Plesk’in çalıştırıldığı sunucunun IP adresini (örneğimizde 111.222.333.444) ve .port 7080 için gireceğiz. Daha önce belirtildiği gibi, bu, Plesk. Bu portu kullanmak zorundayız çünkü dahili olarak, Varnish yalnızca şifrelenmemiş bir kanal üzerinden dinleyebiliyor.

İçeriğin Apache sunucusundan değil bellekten yüklendiğini nasıl anlarız ??

İsteğin, cevapta özel bir başlık girişi aracılığıyla Varnish tarafından işlendiğini göreceksiniz, verilerin bellekten yüklenip yüklenmediğini veya Apache sunucusundan istenip istenmediğini bilmeyeceksiniz.

Konsolda vernik kullanmak zorunda kalmadan bunu başarmak için karşılık gelen değere sahip başka bir başlık değeri ayarlayabiliriz (önbellek isabet / önbellek özü). Neredeyse tüm kod yolları (vcl_pipe hariç) için son çıkış noktası olan sub vcl_deliver işlevini kullanmak zorundayız. Aşağıdaki kodu sub vcl_deliver alt fonksiyonunun köşeli parantezlerine ekleyin.

Kod:
if (obj.hits > 0) {
     set resp.http.X-Cache = "HIT";
} else {
     set resp.http.X-Cache = "MISS";
}
Yanıtı incelemek için tarayıcınızdaki Geliştirici Araçları’nı kullanın.

Değiştirilen dosyayı kaydedin ve kaptan çıkın. Plesk UI’nıza tekrar geçin ve kabı Docker’da “Yeniden Başlat” düğmesiyle yeniden başlatın. Başarı mesajını gördüğünüzde, alt alanın sekmesine 503 hata mesajıyla gidin. Sayfayı henüz yeniden yüklemeyin, ancak önce Geliştirici Araçlarını açın. “Ağ” sekmesine gidin ve sayfayı tekrar yükleyin. İlk girişi seçin (URL /) ve “Tepki başlıklarına” bakınız.

varnish-5.png


Her şey düzgün yapılmışsa, bazı yeni başlık değişkenleri göreceksiniz: X-Cache – Bu, yapılandırma dosyasında tanımladığım değişkendir. İlk yeniden yüklemeden sonra “MISS” göstermelidir. X-Varnish: ID – Bu dosyanın dahili kimliği Varnish’de Via: “1.1 vernik-v4” – Bu, isteğin Varnish kabı üzerinden yönlendirildiğini gösterir.

Tamam, biraz vernik büyüsü görme zamanı geldi! Sayfayı yeniden yüklemek için tarayıcınızdaki yeniden yükle düğmesine tıklayın. Bu sefer sanal bellekten yüklenecek.

varnish-6.png


Bağlantıyı şifrelemek için HTTPS kullanan web siteleri ne olacak?

Aynı zamanda çalışır ve bunun en iyi yanı hiçbir şeyi değiştirmenize gerek kalmamasıdır! Büyük etki alanı şifreleme uzantısını kullanarak alt etki alanı için bir SSL sertifikası oluşturun. Sertifika oluşturulduktan ve atandıktan sonra (uzantı otomatik olarak yapar), statik sayfaya gidin ve http: // yerine https: // kullanarak yeniden yükleyin. Tarayıcı konsolunuzu açarsanız, bir X-Cache: HIT göreceksiniz yanıt başlıklarında:

İşlem tamamdır, Yapamadığınız bir yer olursa sorabilirsiniz.
About author
Slaweally
Ben Ali Çömez (Slaweally) Uzun yıllar internet sektöründe zaman geçirdikten sonra tecrübelerimi sizinle paylaşmak için buradayım.

Comments

There are no comments to display.

nedir information

Yazar
Slaweally
Görüntüleme
8,026
Last update
Author rating
4.50 yıldız(lar)

More in Nedir / Ne işe yarar

More from Slaweally