1. Gzip Sıkıştırmayı Etkinleştirin
Gzip sıkıştırması, web sayfalarınızın boyutunu küçültmenize yardımcı olan harika bir tekniktir. Gzip, metin dosyalarını (HTML, CSS, JavaScript) sıkıştırarak daha hızlı yüklenmelerini sağlar. Nginx üzerinde gzip sıkıştırmasını aktif hale getirmek, sayfalarınızın daha hızlı yüklenmesine olanak tanır.
gzip on;
gzip_types text/plain text/css application/javascript;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 256;
2. Statik Dosyaları Önbelleğe Alın
Web sayfalarınızda sıkça değişmeyen içerikler varsa (örneğin görseller, CSS dosyaları, JS dosyaları), bu dosyaların önbelleğe alınması site hızını ciddi şekilde artırır. Nginx, bu dosyaları belirli bir süre boyunca saklar ve kullanıcının tekrar aynı sayfayı ziyaret ettiğinde, bu dosyalar hızlı bir şekilde yüklenir.
location ~* \.(jpg|jpeg|png|gif|css|js|pdf)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
3. Hızlı Bağlantı Kurulumu İçin Keepalive’ı Kullanın
Keepalive, istemci ile sunucu arasındaki bağlantının açık kalmasını sağlayarak, aynı istemciden gelen ardışık isteklerin daha hızlı bir şekilde işlenmesini sağlar. Nginx üzerinde keepalive'ı etkinleştirerek bağlantı kurulum sürelerini kısaltabilirsiniz.
keepalive_timeout 65;
tcp_nopush on;
4. Dinamik İçerik İçin FastCGI Cache Kullanın
Daha dinamik içerikler için FastCGI önbelleği kullanmak, sıkça değişmeyen içerikleri depolamanın ve hızla erişmenin harika bir yoludur. Özellikle PHP tabanlı siteler için bu teknik, sayfa yükleme sürelerini önemli ölçüde azaltabilir.
fastcgi_cache_path /tmp/cache levels=1:2 keys_zone=FASTCGI:10m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
5. HTTP/2 ile Hızlı Yükleme
HTTP/2, web sayfalarının daha hızlı yüklenmesine olanak tanıyan bir protokoldür. Modern tarayıcılar, HTTP/2 desteği sunar, bu nedenle Nginx'i HTTP/2 ile yapılandırmak, hız açısından büyük bir fark yaratacaktır.
server {
listen 443 ssl http2;
ssl_certificate /etc/ssl/certs/your_certificate.pem;
ssl_certificate_key /etc/ssl/private/your_key.key;
}
6. Resimlerinizi Optimiz Edin
Web sitenizin hızını artırmak için sadece metin ve kodu değil, aynı zamanda görselleri de optimize etmeniz gerekmektedir. Nginx, görsellerin boyutlarını küçültmek ve doğru formatta sunmak için mükemmel bir platformdur. Görselleri sıkıştırmak, sayfa yükleme hızını ciddi şekilde artırabilir.
location ~* \.(jpg|jpeg|png|gif)$ {
image_filter resize 800 600;
image_filter sharpen 1;
}
7. DDoS Saldırılarına Karşı Koruma Sağlayın
DDoS saldırıları, web sitenizin hızını ve erişilebilirliğini ciddi şekilde etkileyebilir. Nginx üzerinde gelen istekleri sınırlayarak, aşırı yüklenmeyi engelleyebilirsiniz.
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=1r/s;
server {
location / {
limit_req zone=req_limit_per_ip burst=5;
}
}
8. Load Balancer (Yük Dengeleyici) Kullanın
Birçok sunucuya sahip olan bir sistemde, yük dengelemesi yapmak çok önemlidir. Nginx, gelen trafiği birden fazla sunucuya yönlendirebilir, böylece her sunucuya aşırı yük binmeden trafiği dengeler. Bu da performansı artırır ve sunucularınızın çökmesini engeller.
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
location / {
proxy_pass http://backend;
}
}
9. Proxy Cache Kullanın
Proxy önbelleklemesi, Nginx'in gelen istekleri daha hızlı bir şekilde karşılamasına yardımcı olur. Sunucularınıza yükü hafifletir ve trafiğin çoğunu önbelleğe alarak daha hızlı yanıt verir.
proxy_cache_path /tmp/cache keys_zone=proxy_cache:10m;
location / {
proxy_cache proxy_cache;
proxy_cache_valid 200 1h;
}
10. İstek Başına Veritabanı Erişimini Azaltın
Birçok site dinamik içerik sunarken veritabanı sorguları kullanır. Her sayfa yüklemesi için veritabanı sorgularını minimize etmek, sayfa hızını artıran önemli bir adımdır. Nginx üzerinde cache kullanarak veritabanı sorgularını azaltabilir ve yükleme sürelerini hızlandırabilirsiniz.
location / {
fastcgi_cache WORDPRESS;
fastcgi_cache_key $scheme$request_method$host$request_uri;
}
Sonuç: Hızlı ve Etkili Bir Web Sitesi
Nginx, web sitenizin performansını hızla artırmak için sahip olmanız gereken bir araçtır. Bu 10 sıradışı konfigürasyon, yalnızca başlangıçtır. Fakat her biri, sitenizin hızını arttırmanın ve kullanıcı deneyimini iyileştirmenin etkili yollarıdır. Uyguladığınızda, ziyaretçilerinizin sayfalarınızın hızından ne kadar memnun kaldığını fark edeceksiniz. Siteniz hızlandıkça, Google'da sıralamanız da yükselecek, çünkü hız, SEO'nun önemli bir faktörüdür.
Unutmayın, hız sadece kullanıcıları mutlu etmekle kalmaz, aynı zamanda onları sitenizde daha uzun süre tutmanıza yardımcı olur. Web sitenizin hızını artırarak hem kullanıcı deneyimini hem de SEO performansınızı iyileştirebilirsiniz!