Nginx Web Sunucusu Optimizasyonu: Teknik Detaylar

Nginx web sunucusunu optimize etmek, performansı artırmak ve kaynak kullanımını en üst düzeye çıkarmak için önemlidir. İşte Nginx performansını artırmak için uygulayabileceğiniz 10 teknik detay:

1. Çalışan İşlemciler ve Bağlantılar Ayarlayın

- Çalışan İşlemciler: Sunucunuzdaki CPU çekirdek sayısına göre ayarlayın.
worker_processes auto;
- Çalışan Bağlantılar: Aynı anda hizmet verebileceğiniz maksimum istemci sayısını belirlemek için bağlantı sayısını artırın.
events {
    worker_connections 2048;
}
2. Gzip Sıkıştırmayı Etkinleştirin

Gzip sıkıştırması, dosya boyutlarını küçülterek ağ bant genişliğini azaltır.
gzip on;
gzip_types text/plain text/css application/json application/javascript image/svg+xml;
gzip_comp_level 5;
gzip_min_length 10240;
gzip_vary on;
3. Statik İçerik Önbellekleme Süresini Değiştirin

Statik içerikler için önbellekleme sürelerini artırarak sunucu yükünü azaltabilirsiniz.
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public, no-transform";
}
4. Zaman Aşımı Değerlerini Ayarlayın

Zaman aşımı değerlerini ayarlayarak yavaş istemcilerin performansı etkilemesini önleyebilirsiniz.
http {
    client_body_timeout 12;
    client_header_timeout 12;
    keepalive_timeout 15;
    send_timeout 10;
}
5. TCP Seçeneklerini Ayarlayın

TCP seçeneklerini ince ayar yaparak veri aktarımını optimize edebilirsiniz.
http {
    tcp_nopush on;
    tcp_nodelay on;
}
6. Dosya Açma Limitlerini Artırın

Sunucunun daha fazla dosya açabilmesi için dosya açma limitlerini artırın.
worker_rlimit_nofile 65535;
7. HTTP/2 Protokolünü Etkinleştirin

HTTP/2, daha hızlı veri aktarımı ve daha iyi performans sağlar.
server {
    listen 443 ssl http2;
    ...
}
8. Erişim Günlüklerini Devre Dışı Bırakın veya Arabelleğe Alın

Günlük kaydı, disk I/O yükünü artırabilir. Gerekirse erişim günlüklerini devre dışı bırakın veya arabelleğe alın.
access_log off; 
# veya
access_log /var/log/nginx/access.log combined buffer=32k flush=5m;
9. Reverse Proxy Olarak Nginx Kullanımı

Nginx'i reverse proxy olarak kullanarak yük dengelemesi yapabilir ve performansı artırabilirsiniz.
location / {
    proxy_pass http://backend-server;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}
10. Ağ Yığını Optimizasyonu Yapın

Ağ yığını parametrelerini ayarlayarak Nginx performansını artırabilirsiniz.
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
Bu teknik detaylar sayesinde Nginx web sunucunuzun performansını önemli ölçüde artırabilirsiniz. Her değişiklikten sonra Nginx yapılandırmasını test etmeyi ve sunucuyu yeniden başlatmayı unutmayın.