Linux Sunucuda Nginx Worker Ayarı

Linux sunucularında Nginx web sunucusunu etkin bir şekilde yönetmek, yüksek trafikli siteler için kritik öneme sahiptir.

Linux sunucularında Nginx web sunucusunu etkin bir şekilde yönetmek, yüksek trafikli siteler için kritik öneme sahiptir. Nginx’in worker süreçleri, sunucunun performansını doğrudan etkileyen temel bileşenlerdir. Bu süreçler, gelen istekleri paralel olarak işleyerek CPU kaynaklarını verimli kullanır ve gecikmeleri minimize eder. Worker ayarlarını doğru yapılandırmak, özellikle çok çekirdekli sistemlerde bellek kullanımını optimize eder ve yanıt sürelerini kısaltır. Bu makalede, Nginx worker yapılandırmasının temellerini inceleyecek, optimal ayarları belirleme yöntemlerini açıklayacak ve pratik uygulama adımlarını detaylandıracağız. Kurumsal ortamlar için bu ayarlar, ölçeklenebilirlik ve güvenilirlik sağlar.

Nginx Worker Süreçlerinin Temelleri

Nginx, master-worker mimarisi üzerine kuruludur. Master süreç, worker süreçlerini yönetir ve yeniden başlatır; worker’lar ise gerçek istekleri işler. Varsayılan olarak tek worker süreci çalışır, ancak modern Linux sunucularda bu yetersiz kalır. Worker sayısını artırmak, CPU çekirdeklerini tam kapasite kullanmanızı sağlar. Örneğin, 4 çekirdekli bir sunucuda worker_processes 4 olarak ayarlanırsa, her çekirdek bir sürece ayrılır ve bağlam değiştirme yükü azalır.

Worker süreçleri, event-driven mimariyle çalışır ve her biri binlerce bağlantıyı eşzamanlı yönetebilir. Bu, Apache gibi process-per-connection modellerine göre bellek verimliliğini artırır. Yapılandırmada worker_processes direktifini nginx.conf dosyasındaki events bloğunun üstüne yerleştirin. Yanlış ayar, aşırı bellek tüketimine veya CPU darboğazına yol açar. Pratikte, sunucunuzun CPU bilgisini cat /proc/cpuinfo | grep "cpu cores" ile kontrol edin ve buna göre planlayın.

Optimal Worker Sayısını Belirleme Yöntemleri

CPU Çekirdek Sayısına Göre Hesaplama

Sunucunuzun fiziksel CPU çekirdek sayısını temel alın. nproc komutuyla çekirdek sayısını öğrenin; örneğin 8 çekirdek için worker_processes 8 önerilir. Hiper-threaded sistemlerde (SMT aktifse), mantıksal çekirdekleri değil fiziksel olanları tercih edin. Formül basit: worker_processes auto; direktifi, Nginx 1.3.8’den beri CPU sayısını otomatik algılar ve en iyi sonucu verir. Manuel ayarda, eşitlik veya çekirdek sayısının 1-2 fazlası idealdir, ancak bellek limitini aşmayın – her worker yaklaşık 10-50 MB RAM kullanır.

Sunucu Kaynaklarına Göre İnce Ayar

RAM ve yükü göz önünde bulundurun. 16 GB RAM’li sunucuda 16 worker güvenli olabilir, ancak yüksek trafik için worker_connections 1024’e çıkarın. Test için ulimit -n ile dosya limitini kontrol edin; worker_rlimit_nofile 65535 olarak ayarlayın. Örnek: 4 çekirdek, 8 GB RAM için worker_processes 4 ve worker_connections 4096 dengeli bir başlangıçtır. Bu ayarlar, DDoS saldırılarına karşı direnci artırır ve kaynak israfını önler. Gerçek zamanlı testlerle doğrulayın.

Yapılandırma ve Uygulama Adımları

nginx.conf dosyasını düzenleyin: sudo nano /etc/nginx/nginx.conf. worker_processes direktifini ekleyin, ardından worker_connections’ı events bloğuna yerleştirin. Değişiklikleri test edin: sudo nginx -t. Sorunsuzsa yeniden yükleyin: sudo nginx -s reload. Bu işlem kesintisizdir ve hizmetleri durdurmaz. Ek olarak, multi_accept on; ekleyerek worker’ların birden fazla bağlantı kabul etmesini sağlayın.

  1. Sunucu CPU’sunu inceleyin: lscpu.
  2. nginx.conf’u yedekleyin: sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak.
  3. Direktifleri ekleyin ve syntax kontrolü yapın.
  4. Yeniden yükleyin ve logları izleyin: tail -f /var/log/nginx/error.log.
  5. Performansı ölçün: ab -n 10000 -c 100 http://localhost/ ile Apache Benchmark kullanın.

Bu adımlar, kurumsal sunucularda standart prosedürdür ve hataları minimize eder. Worker CPU kullanımını htop ile takip edin; dengesiz dağılım varsa ayarları revize edin.

İzleme ve Sürekli Optimizasyon

Worker performansını izlemek için Nginx status modülünü etkinleştirin: stub_status direktifini ekleyin ve curl http://localhost/nginx_status ile sorgulayın. Active connections ve worker ilişkilerini buradan okuyun. Prometheus ve Grafana entegrasyonuyla görselleştirin. Haftalık incelemelerde, yüksek reading/writing değerleri worker artışı gerektirebilir.

Uygulamada, trafik piklerinde worker’ların %80 CPU’yu aşmaması hedefleyin. Eğer sunucu paylaşımlıysa, komşu tenant’ları etkilememek için sabit sayı kullanın. Uzun vadede, container ortamlarında (Docker/Kubernetes) worker ayarlarını pod başına uyarlayın. Düzenli bakım, %20-30 performans artışı sağlar.

Sonuç olarak, Nginx worker ayarlarını sisteminize özgü optimize etmek, Linux sunucularınızın verimliliğini maksimize eder. Bu rehberi takip ederek, adım adım uygulayın ve sürekli izleyin. Profesyonel destek için sistem loglarını detaylı analiz edin; böylece kesintisiz hizmet sunabilirsiniz.

Kategori: Blog
Yazar: Editör
İçerik: 547 kelime
Okuma Süresi: 4 dakika
Zaman: Bugün
Yayım: 27-02-2026
Güncelleme: 27-02-2026
Copyright © 2025, İzmir Seo Firması