1. Statik İçerik Sunumunu Optimize Edin
Nginx, statik içerikleri sunma konusunda son derece hızlıdır. Web sitenizde resimler, CSS dosyaları, JavaScript gibi statik içerikler varsa, bunları Nginx üzerinden doğrudan sunmak, sunucunun yükünü azaltır ve site hızınızı artırır.
Nginx yapılandırma dosyanıza şu satırı ekleyin:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|html)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
Bu yapılandırma, statik içeriklerin cache (önbellek) sürelerini 30 gün olarak ayarlayacak, böylece her istek geldiğinde sunucu yeniden işlem yapmayacak.
2. HTTP/2'yi Etkinleştirin
Web sitenizin yüklenme hızını artırmanın en etkili yollarından biri, HTTP/2'yi aktif hale getirmektir. HTTP/2, birden fazla isteği aynı anda işleyebilme yeteneği ile daha hızlı veri iletimi sağlar.
Nginx yapılandırma dosyanızda aşağıdaki satırı kontrol edin veya ekleyin:
server {
listen 443 ssl http2;
# SSL ve diğer ayarlar burada
}
HTTP/2'yi aktif hale getirmek, site hızınızı ciddi şekilde iyileştirebilir.
3. Yük Dengeleme Kullanarak Yükü Paylaştırın
Nginx, yüksek trafikli sitelerde yük dengeleme yaparak sunucular arasında istekleri yönlendirebilir. Bu, her sunucunun üzerine binen yükü dengeleyerek sitenizin daha verimli çalışmasını sağlar.
Aşağıdaki örnek, birden fazla backend sunucuya yük dengelemesi yapacaktır:
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
location / {
proxy_pass http://backend;
}
}
Bu, yükü dengeleyerek sitenizin daha hızlı ve sorunsuz çalışmasını sağlar.
4. Gzip ile Sıkıştırma Aktif Edin
Gzip, web sayfalarınızın sıkıştırılmasını sağlar ve böylece veri boyutunu küçültür, sayfa yükleme hızını artırır.
Aşağıdaki satırları Nginx yapılandırma dosyanıza ekleyin:
gzip on;
gzip_types text/plain application/javascript text/css application/json;
gzip_min_length 1000;
Bu, sıkıştırmayı etkinleştirerek daha hızlı sayfa yükleme süreleri elde etmenizi sağlar.
5. DNS Ön Belleklemeyi Etkinleştirin
Nginx, DNS çözümleme süresini hızlandırabilir. DNS önbellekleme, sık kullanılan alan adlarını önceden çözerek gecikmeleri azaltır.
Nginx yapılandırma dosyasına şu satırı ekleyerek DNS önbelleklemeyi etkinleştirebilirsiniz:
resolver 8.8.8.8 8.8.4.4 valid=300s;
Bu, DNS çözümleme süresini iyileştirir ve sayfa yükleme sürenizi azaltır.
6. HTTP Başlıklarını Optimize Edin
Başlıklar, web sayfanızın SEO’su ve güvenliği için kritik öneme sahiptir. Nginx'te gereksiz veya kötü yapılandırılmış başlıkları temizleyerek daha hızlı ve güvenli bir sunum sağlayabilirsiniz.
Şu başlıkları ekleyerek web güvenliğini güçlendirebilirsiniz:
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
Bu başlıklar, web sitenizin güvenliğini artırırken, hızını da yükseltir.
7. Veritabanı Bağlantılarını Optimize Edin
Web uygulamanızda veritabanı kullanıyorsanız, Nginx yapılandırmalarınızın veritabanı bağlantılarına nasıl etki ettiğini düşünmek önemlidir. Bağlantı havuzlaması kullanmak, veritabanı sorgularını hızlandırabilir.
Aşırı yönlendirme kullanımı, sayfa yükleme sürelerini artırabilir. Yönlendirmeleri minimumda tutarak, sayfa geçişlerini hızlandırabilirsiniz.
9. Etkili Caching Kullanımı
Nginx, verileri önbelleğe alarak daha hızlı sunulmasını sağlar. Cache ayarlarını doğru yapılandırmak, kullanıcı deneyimini geliştirir ve sunucu üzerindeki yükü azaltır.
proxy_cache_path /tmp/cache levels=1:2 keys_zone=my_cache:10m max_size=10g;
location / {
proxy_cache my_cache;
proxy_cache_valid 200 1h;
}
Bu, içerikleri daha hızlı sunmanızı sağlar.
10. Sunucu Erişim Kısıtlamalarını Uygulayın
Dışarıdan gelen kötü amaçlı istekleri sınırlayarak sunucunuza zarar gelmesini engelleyebilirsiniz. Nginx, IP kısıtlamaları uygulamanıza olanak tanır.
allow 192.168.1.0/24;
deny all;
Bu tür güvenlik önlemleri, sunucunuzun korunmasına yardımcı olur.
### Sonuç
Nginx, güçlü bir web sunucusudur ve doğru yapılandırma ile performansını büyük ölçüde artırabilirsiniz. Bu ipuçlarını kullanarak, web sitenizin hızını, güvenliğini ve verimliliğini en üst seviyeye çıkarabilirsiniz. Uyguladığınız her ipucu, web sitenizin daha hızlı, güvenli ve verimli olmasına katkı sağlayacaktır.