CentOS 7'de Nginx için Varnish Cache 5.2 Nasıl Kurulur


Vernik Önbelleği (ayrıca Vernik olarak da bilinir), web sunucularını hızlandırmak için tasarlanmış açık kaynaklı, yüksek performanslı bir HTTP hızlandırıcıdır. Son yazılarımızda CentOS 7 ve CentOS 8 üzerinde Apache için Varnish Cache kurulumunun nasıl yapılacağını anlatmıştık.

Bu makalede, Varnish Cache'i CentOS 7'de Nginx HTTP sunucusuna ön uç olarak nasıl kuracağınızı ve kullanacağınızı göstereceğiz. Bu kılavuz aynı zamanda RHEL 7 üzerinde de çalışmalıdır.

Gereksinimler

  1. Apache yüklü bir CentOS 7
  2. Statik IP adresine sahip bir CentOS 7

Adım 1: Nginx Web Sunucusunu CentOS 7'ye yükleyin

1. YUM paket yöneticisini kullanarak varsayılan CentOS yazılım depolarından Nginx HTTP sunucusunu aşağıdaki gibi yükleyerek başlayın.

yum install nginx

2. Kurulum tamamlandığında şimdilik Nginx hizmetini başlatın ve sistem önyüklemesinde otomatik olarak başlatılmasını etkinleştirin.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Şimdi aşağıdaki komutları kullanarak sistem güvenlik duvarı kurallarını 80 bağlantı noktasında gelen paketlere izin verecek şekilde değiştirin.

firewall-cmd --zone=public --permanent --add-port=80/tcp
firewall-cmd --reload
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reload

Adım 2: Vernish Cache'i CentOS 7'ye yükleyin

4. Artık Varnish Cache 6'nın en son sürümü için önceden derlenmiş RPM paketleri mevcut (yani bu yazının yazıldığı sırada 6.5), bu nedenle resmi Varnish Cache deposunu eklemeniz gerekir.

Bundan önce, gösterildiği gibi çeşitli bağımlılık paketlerini kurmak için EPEL deposunu etkinleştirmeniz gerekir.

yum install -y epel-release

5. Ardından, GPG imzalarını ve yum-utils'i yönetmeye yönelik bir paket olan pygpgme'yi yükleyin; yum'un yerel özelliklerini çeşitli şekillerde genişleten kullanışlı yardımcı programlardan oluşan bir koleksiyon.

yum install pygpgme yum-utils

6. Şimdi aşağıdaki depo yapılandırmasını içeren /etc/yum.repos.d/varnishcache_varnish5.repo adlı bir dosya oluşturun.

vi /etc/yum.repos.d/varnishcache_varnish65.repo

Önemli: Aşağıdaki yapılandırmada el ve 7'yi Linux dağıtımınız ve sürümünüzle değiştirdiğinizden emin olun:

[varnishcache_varnish65]
name=varnishcache_varnish65
baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[varnishcache_varnish65-source]
name=varnishcache_varnish65-source
baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

7. Şimdi yerel yum önbelleğinizi güncellemek ve vernik önbellek paketini yüklemek için aşağıdaki komutu çalıştırın (y veya yes yazarak GPG anahtarını kabul etmeyi unutmayın) paketi yüklerken):

yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65'
yum install varnish 

8. Varnish Cache'i yükledikten sonra, ana yürütülebilir dosya /usr/sbin/varnishd olarak yüklenecek ve vernik yapılandırma dosyaları /etc/varnish/:

  • /etc/varnish/default.vcl – bu ana vernik yapılandırma dosyasıdır, vanish yapılandırma dili (VCL) kullanılarak yazılmıştır.

9. Şimdi cila hizmetini başlatın, sistem önyüklemesi sırasında otomatik olarak başlamasını etkinleştirin ve çalışır durumda olduğundan emin olmak için durumunu aşağıdaki gibi doğrulayın.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

10. Varnish yürütülebilir dosyasının konumunu ve sisteminizde yüklü olan sürümünü görerek Varnish kurulumunun başarılı olduğunu doğrulayabilirsiniz.

which varnishd
varnishd -V
Örnek Çıktı
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2020 Varnish Software

Adım 3: Nginx'i Vernik Önbelleğiyle Çalışacak Şekilde Yapılandırma

11. Bu adımda Nginx'i Varnish Cache ile çalışacak şekilde yapılandırmanız gerekir. Nginx varsayılan olarak 80 bağlantı noktasını dinler; varsayılan Nginx bağlantı noktasını 8080 olarak değiştirmelisiniz, böylece Varnish önbelleğe alma işleminin arkasında çalışır.

Nginx yapılandırma dosyasını /etc/nginx/nginx.conf açın ve listen 80 satırını bulun ve onu sunucudaki gibi 8080 listene değiştirin Aşağıdaki ekran görüntüsünde gösterilen blok.

vi /etc/nginx/nginx.conf

Not: Bu, aracılığıyla sunmak istediğiniz web siteleri için tüm sunucu bloğu yapılandırma dosyalarında (genellikle /etc/nginx/conf.d/ altında oluşturulur) yapılmalıdır. >Vernik.

12. Ardından, vernik hizmeti yapılandırma dosyasını açın ve Varnish'in dinlediği bağlantı noktasını belirten ExecStart parametresini bulun ve değerini 6081 olarak değiştirin. 80'e kadar.

systemctl edit --full  varnish

Çizgi gösterildiği gibi görünmelidir.

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

13. Ardından, /etc/varnish/default.vcl yapılandırma dosyasında Nginx'i Varnish proxy'si için arka uç sunucusu olarak ayarlayın.

vi /etc/varnish/default.vcl 

Arka uç bölümünü bulun ve ana makine IP'sini ve bağlantı noktasını tanımlayın. Aşağıda varsayılan arka uç yapılandırması verilmiştir; bunu gerçek içerik sunucunuzu işaret edecek şekilde ayarlayın.

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

14. Gerekli tüm yapılandırmaları gerçekleştirdikten sonra, yukarıdaki değişiklikleri gerçekleştirmek için Nginx HTTPD ve Varnish önbelleğini yeniden başlatın.

systemctl daemon-reload
systemctl restart nginx
systemctl restart varnish

Adım 4: Nginx'te Vernik Önbelleğini Test Edin

15. Son olarak, HTTP üstbilgisini görüntülemek için aşağıdaki cURL komutunu kullanarak Varnish önbelleğinin etkin olup olmadığını ve Nginx hizmetiyle çalışıp çalışmadığını test edin.

curl -I http://localhost
Örnek Çıktı
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Wed, 06 Jan 2021 09:24:18 GMT
Content-Type: text/html
Content-Length: 4833
Last-Modified: Fri, 16 May 2014 15:12:48 GMT
ETag: "53762af0-12e1"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.5)
Accept-Ranges: bytes
Connection: keep-alive

Varnish Cache Github Deposundan ek bilgi bulabilirsiniz: https://github.com/varnishcache/varnish-cache

Bu eğitimde CentOS 7'de Nginx HTTP sunucusu için Varnish Cache'in nasıl kurulacağını açıkladık. Sorularınızı veya ekstra fikirlerinizi bize göndermek için aşağıdaki yorum formunu kullanın.