Nginx ile Roket Gibi Hızlanan Siteler: Uygulamanız Gereken 7 Kritik Ayar

7 Kritik Nginx Ayarı ile Web Sitenizi Roket Hızına Taşıyın

Web sitesi performansı, kullanıcı deneyimi ve SEO açısından son derece önemli bir faktördür. Kullanıcılar, hızlı yüklenen siteleri tercih eder ve Google gibi arama motorları da hız faktörünü sıralama kriterlerinden biri olarak değerlendirir. Nginx, yüksek performansı ve esnekliği ile en popüler web sunucu yazılımlarından biridir. Web sitenizin hızını artırmak için Nginx üzerinde yapabileceğiniz bazı kritik ayarlar, sitenizin hızını roket gibi artırabilir.

Bu yazıda, Nginx ile web sitenizin hızını artırmak için uygulayabileceğiniz 7 kritik ayarı ele alacağız. Bu ayarlarla birlikte, sitenizin yüklenme süresini önemli ölçüde azaltabilir ve kullanıcılarınızın daha hızlı ve sorunsuz bir deneyim yaşamasını sağlayabilirsiniz.

1. Gzip Kompresyonunu Etkinleştirin

Gzip, web sayfalarını sıkıştırarak, veri iletiminin hızını artıran bir kompresyon algoritmasıdır. Web sunucusu üzerinden gönderilen dosyaların boyutunu küçülterek, sayfaların daha hızlı yüklenmesini sağlar. Nginx üzerinde Gzip kompresyonunu etkinleştirerek, dosya boyutlarını %70’e kadar küçültebilir ve böylece yükleme süresini önemli ölçüde kısaltabilirsiniz.

Gzip Ayarını Yapma:

Nginx konfigurasyon dosyasına (genellikle /etc/nginx/nginx.conf veya /etc/nginx/sites-available/default) şu satırları ekleyebilirsiniz:

nginx

KopyalaDüzenle

gzip on;

gzip_types text/plain text/css application/javascript text/javascript application/json application/xml application/xml+rss text/javascript;

gzip_min_length 1000;

gzip_disable “msie6”;

Bu ayar, HTML, CSS, JavaScript, JSON ve XML dosyalarını sıkıştırarak, bu dosyaların kullanıcıya hızlı bir şekilde ulaşmasını sağlar.

2. Cache Kontrolü ile Hızlandırma

Web sitenizin hızını artırmak için tarayıcı önbellekleme (cache) kullanımı oldukça etkilidir. Kullanıcıların sayfaları tekrar tekrar yüklememesi için, belirli dosyaların tarayıcıda saklanması sağlanabilir. Bu sayede, kullanıcılar bir kez yükledikleri kaynakları tekrar indirmek zorunda kalmazlar.

Cache Kontrolünü Etkinleştirme:

Nginx üzerinde cache kontrolünü şu şekilde yapılandırabilirsiniz:

nginx

KopyalaDüzenle

location ~* \.(jpg|jpeg|png|gif|css|js|woff|woff2|ttf|svg|eot)$ {

    expires 30d;

    add_header Cache-Control “public, must-revalidate, proxy-revalidate”;

}

Bu ayar, görseller, CSS ve JavaScript dosyaları gibi statik içerikleri 30 gün boyunca önbelleğe alır ve kullanıcılar her ziyaret ettiğinde bu dosyalar tekrar indirilmeyip önbellekten yüklenir.

3. Keep-Alive Bağlantılarını Etkinleştirin

Keep-Alive, bir istemci ve sunucu arasındaki bağlantıyı açık tutarak, birden fazla isteği tek bir bağlantı üzerinden gerçekleştirir. Bu, her yeni bağlantı için yeniden bağlantı kurmaya gerek duymadan sayfaların daha hızlı yüklenmesini sağlar. Keep-Alive bağlantılarını etkinleştirmek, özellikle çok sayıda küçük dosya yüklenirken site hızını artırır.

Keep-Alive Ayarını Yapma:

Aşağıdaki satırları Nginx konfigurasyon dosyasına ekleyerek Keep-Alive’ı etkinleştirebilirsiniz:

nginx

KopyalaDüzenle

keepalive_timeout 65;

Bu ayar, bağlantıların 65 saniye boyunca açık kalmasını sağlar. Bu süreyi ihtiyaca göre daha uzun tutabilirsiniz, ancak 65 saniye genellikle yeterlidir.

4. FastCGI Cache ile Dinamik İçerik Hızlandırma

FastCGI cache, dinamik içeriklerin cache’lenmesini sağlayarak, veritabanı sorgularının ve PHP işlemlerinin hızlandırılmasına yardımcı olur. Özellikle PHP tabanlı siteler için bu ayar, çok büyük hız artışları sağlar. FastCGI, dinamik içerikleri cache’ler ve tekrar ihtiyaç duyulduğunda bu içerikleri daha hızlı sunar.

FastCGI Cache Ayarını Yapma:

Nginx üzerinde FastCGI cache ayarlarını şu şekilde yapılandırabilirsiniz:

nginx

KopyalaDüzenle

fastcgi_cache_path /var/cache/nginx/fastcgi_cache levels=1:2 keys_zone=MYCACHE:10m inactive=60m;

fastcgi_cache_key “$scheme$request_method$host$request_uri”;

fastcgi_cache MYCACHE;

Bu ayar, dinamik içerikleri cache’ler ve ardından tekrar talep edildiğinde bu içerikleri hızlı bir şekilde sunar. Bu, özellikle büyük trafikli web siteleri için performansı önemli ölçüde artırır.

5. HTTP/2 Protokolünü Etkinleştirin

HTTP/2, modern bir protokoldür ve özellikle site hızını artıran birçok özelliğe sahiptir. HTTP/2 ile birlikte, web sayfalarının daha hızlı yüklenmesi sağlanabilir, çünkü paralel istekler aynı bağlantı üzerinden yapılabilir. Ayrıca, HTTP/2 daha verimli sıkıştırma ve header optimizasyonu sunar.

HTTP/2’yi Etkinleştirme:

Nginx üzerinde HTTP/2’yi etkinleştirmek için aşağıdaki satırları kullanabilirsiniz:

nginx

KopyalaDüzenle

server {

    listen 443 ssl http2;

    ssl_certificate /etc/nginx/ssl/cert.pem;

    ssl_certificate_key /etc/nginx/ssl/cert.key;

    …

}

Bu ayar, HTTPS bağlantılarınızda HTTP/2 protokolünü etkinleştirir ve sitenizin hızını artırır.

6. Kısa Yönlendirmeleri (Redirects) Kullanın

Yönlendirmeler (redirects), sayfa yükleme süresini etkileyebilir. Birçok yönlendirme, istemci ve sunucu arasındaki fazladan bir isteği gerektirir. Web siteniz için yönlendirme sayısını en aza indirgemek, hız açısından oldukça faydalıdır.

Yönlendirme Optimizasyonu:

Yönlendirme yapılandırmalarını en aza indirgemek için, özellikle 301 ve 302 yönlendirmelerinin doğru kullanıldığından emin olun. Nginx üzerinde gereksiz yönlendirmeleri şu şekilde engelleyebilirsiniz:

nginx

KopyalaDüzenle

location /old-url {

    return 301 /new-url;

}

Yönlendirme yapılandırmalarınızı minimize ederek, sayfa yükleme sürelerini hızlandırabilirsiniz.

7. Limit Connections ile DDoS Saldırılarını Engelleme

DDoS saldırıları, sitenizin hızını düşürmenin ötesinde, erişilemez hale gelmesine neden olabilir. Nginx, yüksek trafik durumlarında sunucuya aşırı yük bindirilmesini engellemek için bağlantıları sınırlamak adına bazı özellikler sunar.

Bağlantı Sınırlaması Ayarını Yapma:

Aşağıdaki Nginx ayarları, her istemcinin birden fazla bağlantı açmasını sınırlayarak, DDoS saldırılarına karşı koruma sağlar:

nginx

KopyalaDüzenle

limit_conn_zone $binary_remote_addr zone=addr:10m;

limit_conn addr 10;

Bu ayar, her IP adresine yalnızca 10 bağlantı izni verir. Bu, DDoS saldırılarının etkisini sınırlayabilir ve sunucunuzun performansını koruyabilir.

Sonuç: Web Sitenizi Hızlandırmanın Anahtarı

Nginx, doğru yapılandırıldığında web sitenizin performansını önemli ölçüde artırabilir. Gzip kompresyonu, cache kontrolü, Keep-Alive, FastCGI cache, HTTP/2, yönlendirme optimizasyonu ve bağlantı sınırlama gibi ayarlarla, web sitenizin hızını roket hızına taşıyabilirsiniz. Bu ayarları uygulayarak, kullanıcı deneyimini geliştirebilir ve Google sıralamalarında öne çıkabilirsiniz. Web sitenizin hızını optimize etmek, sadece kullanıcılar için değil, aynı zamanda işletmeniz için de büyük bir avantaj sağlar.