Sobes.tech
Middle

Nginx yapılandırmasında limitleri nasıl değiştirilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Nginx yapılandırmasındaki sınırlar, genellikle /etc/nginx/ veya /usr/local/nginx/conf/ dizinlerinde bulunan yapılandırma dosyalarını düzenleyerek değiştirilebilir.

İşte yaygın sınırlar ve nasıl değiştirilecekleri:

  1. İstek gövdesi boyutu sınırı (client_max_body_size): İstemcinin isteğinin maksimum izin verilen boyutunu belirler. Dosya yüklemeleri için önemlidir.

    # http, server veya location bağlamında
    client_max_body_size 10M; # Örnek: sınırı 10 megabayt olarak ayarla
    
  2. Bağlantı sınırı (worker_connections): Bir çalışma sürecinin aynı anda işleyebileceği maksimum bağlantı sayısını belirler.

    # events bağlamında
    events {
        worker_connections 1024; # Örnek: süreç başına 1024 bağlantı
        # diğer olay ayarları...
    }
    
  3. Bağlantı bekleme süresi sınırı (keepalive_timeout): Son isteğin ardından keep-alive bağlantısının açık kalacağı süreyi belirler.

    # http, server veya location bağlamında
    keepalive_timeout 60s; # Örnek: 60 saniye
    
  4. İstek başlıklarını gönderme bekleme süresi (client_header_timeout): İstemcinin isteğin başlığını göndermesi için beklenen süre. Bu süre içinde gönderilmezse bağlantı kapatılır.

    # http, server veya location bağlamında
    client_header_timeout 60s; # Örnek: 60 saniye
    
  5. İstek gövdesini gönderme bekleme süresi (client_body_timeout): İstemcinin istek gövdesini göndermesi için beklenen süre. Bu süre içinde gönderilmezse bağlantı kapatılır.

    # http, server veya location bağlamında
    client_body_timeout 60s; # Örnek: 60 saniye
    
  6. Proxy sunucusundan yanıt bekleme süresi (proxy_read_timeout): Proxy sunucusundan yanıt alınması için beklenen süre.

    # http, server veya location bağlamında
    proxy_read_timeout 120s; # Örnek: 120 saniye
    
  7. Açık dosya sınırı (worker_rlimit_nofile): Çalışma süreci için açık dosya sayısının maksimum sınırını belirler. Çok sayıda bağlantı için önemlidir.

    # main bağlamında
    worker_rlimit_nofile 65535; # Örnek: 65535 dosya
    

    Not: Bu sınır için işletim sistemi seviyesinde de limitlerin ayarlanması gerekebilir (ulimit).

Değişiklik adımları:

  1. Hangi sınırın değiştirileceğini ve hangi bağlamda (http, server, location, events, main) olduğunu belirleyin.
  2. İlgili yapılandırma dosyasını bulun (genellikle nginx.conf veya conf.d/ veya sites-available/sites-enabled).
  3. İstenen değeri içerecek şekilde direktifi ekleyin veya değiştirin.
    # server bloğuna ekleme örneği
    server {
        listen 80;
        server_name example.com;
    
        client_max_body_size 50M; # Bu sunucu için istek gövdesi sınırını değiştir
    
        location / {
            # ...
        }
    }
    
  4. Yapılandırma sözdizimini kontrol edin:
    nginx -t
    
  5. Değişiklikleri uygulamak için Nginx'i yeniden yükleyin:
    sudo systemctl reload nginx
    # veya
    sudo service nginx reload
    

Sınırları değiştirirken, amaçlarını ve performans ile güvenlik üzerindeki potansiyel etkilerini anlamak önemlidir.