1. Caching ile Sayfa Yükleme Süresini Azaltın
Cache kullanmak, web performansını artırmanın en etkili yollarından biridir. NGINX, içerik cache'ini çok hızlı bir şekilde yönetebilir. Eğer statik dosyalarınız varsa, bunları NGINX üzerinden cache'leyebilirsiniz. Bu sayede, her ziyaretçi için veritabanından veri çekmek yerine, NGINX’in cache’inden hızlıca cevap verilir.
Örnek bir yapılandırma:
location ~* \.(jpg|jpeg|png|gif|css|js)$ {
expires 30d;
access_log off;
}
Bu yapılandırma, tüm statik dosyaların 30 gün boyunca cache'lenmesini sağlar. Sayfa yükleme hızını artırmak için oldukça etkili bir yöntemdir.
2. Gzip Sıkıştırmasını Aktif Hale Getirin
Web sitenizin hızını artırmanın bir başka yolu da Gzip sıkıştırması kullanmaktır. Gzip, sunucudan gönderilen dosyaları sıkıştırarak boyutlarını küçültür, böylece sayfa yükleme süresi önemli ölçüde azalır. NGINX, Gzip'i kolayca yapılandırmanıza olanak tanır.
Gzip yapılandırması için:
gzip on;
gzip_types text/plain application/xml text/css application/javascript;
gzip_proxied any;
Bu şekilde, metin tabanlı dosyaların ve JavaScript dosyalarının sıkıştırılmasını sağlarsınız.
3. HTTP/2 Protokolünü Aktif Edin
HTTP/2, web performansını artırmak için bir diğer harika özelliktir. HTTP/2, sayfa yükleme sürelerini hızlandırır çünkü paralel veri iletimi ve başlık sıkıştırma gibi özellikleri içerir. NGINX, HTTP/2 desteğini sunar ve bu özellik etkinleştirildiğinde sayfanız daha hızlı yüklenir.
Aşağıdaki şekilde HTTP/2’yi etkinleştirebilirsiniz:
server {
listen 443 ssl http2;
server_name example.com;
...
}
4. Reverse Proxy Kullanarak Yük Dengeleme Yapın
Eğer yoğun trafik alıyorsanız, reverse proxy kullanmak yük dengeleme açısından büyük bir fark yaratabilir. NGINX, birden fazla sunucuya yönlendirme yaparak web sitenizin daha hızlı yüklenmesini sağlar. Yük dengelemesi ile, her bir sunucuya gelen talepler dengelenir ve sunucuların aşırı yüklenmesi engellenir.
Örnek yapılandırma:
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
location / {
proxy_pass http://backend;
}
}
5. Bağlantı Sayısını Sınırlayın
Çok fazla bağlantı alan bir web sitesi, performans sorunları yaşar. NGINX ile bağlantı sayısını sınırlamak, sunucunuzun daha stabil çalışmasını sağlar. Özellikle yüksek trafikli siteler için bu yapılandırma oldukça önemlidir.
Bağlantı sayısını sınırlamak için:
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 10;
Bu yapılandırma, her IP adresinden en fazla 10 bağlantı yapılmasına izin verir.
6. SSL/TLS Performansını İyileştirin
Web sitenizde güvenlik çok önemli ve SSL/TLS kullanmanız şart. Ancak, SSL/TLS bağlantıları bazen performans sorunlarına yol açabilir. NGINX, SSL/TLS yapılandırmalarınızı optimize etmeniz için bazı ayarlar sunar.
SSL optimizasyonu için:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:...';
Bu ayarlarla daha hızlı SSL bağlantıları sağlayabilirsiniz.
7. Slowloris Saldırılarını Engelleyin
Slowloris, sunucunun performansını hedef alarak, bağlantıları açık tutarak sunucuyu zorlar. Bu tür saldırıları engellemek için NGINX, bağlantı zaman aşımını kısa tutabilir.
Aşağıdaki gibi yapılandırabilirsiniz:
client_body_timeout 10s;
client_header_timeout 10s;
keepalive_timeout 15s;
8. Static Dosya Sunumunu Optimize Edin
Web sitenizdeki statik dosyaların hızlı yüklenmesi çok önemlidir. NGINX ile, bu dosyaların doğrudan sunulmasını sağlayarak, performans kazanımı elde edebilirsiniz.
Örnek yapılandırma:
location /images/ {
root /var/www/html;
}
9. Düşük Hızlı Bağlantıları İyileştirin
NGINX, düşük hızda bağlanan kullanıcılar için optimize edilebilir. Bu tür bağlantılar için sayfa yükleme süresini kısaltacak yöntemler geliştirebilirsiniz.
10. WebSocket Desteği Ekleyin
WebSocket kullanarak, kullanıcı ile sunucu arasında daha hızlı ve sürekli bağlantılar kurabilirsiniz. Bu, özellikle canlı veri akışı gerektiren uygulamalar için oldukça faydalıdır.
WebSocket desteği için:
location /socket/ {
proxy_pass http://websocket_backend;
}
Sonuç
NGINX, doğru yapılandırıldığında, web performansını mükemmel bir şekilde artırabilir. Bu 10 farklı yöntem ile, sitenizin hızını önemli ölçüde iyileştirebilir, kullanıcı deneyimini artırabilir ve SEO sıralamalarınızda yükselme şansı elde edebilirsiniz. Unutmayın, hızlı ve verimli bir web sitesi, yalnızca kullanıcılarınız için değil, aynı zamanda arama motorları için de çok önemlidir.