Nginx çalışırken her bir worker process belirli bir sayıda dosya açabilir. Bunun için lsof
komutunu kullanarak Nginx’in açık dosyalarını listeleyebilirsiniz. Aşağıdaki komut, Nginx için açık olan tüm dosyaları gösterir:
sudo lsof -u nginx
Bu komut, Nginx kullanıcı adıyla açılmış tüm dosyaları listeler. Özellikle açık dosya sayısına odaklanmak için:
sudo lsof -u nginx | wc -l
Bu komut, Nginx’in kullandığı toplam açık dosya sayısını sayar.
Sonuç:
Yukarıdaki yöntemlerle Nginx reverse proxy’nin kaç dosya açtığını kontrol edebilirsiniz. Eğer limitlerin üzerinde bir dosya kullanımı varsa, yapılandırmanızı optimize etmeniz gerekebilir.
2. Nginx ile İlgili Olan Açık Dosya Sayısını proc
Dizini Üzerinden Öğrenmek:
Her bir Nginx worker process için açık dosya sayısını /proc
dizininde kontrol edebilirsiniz. Nginx’in çalışan PID’lerini alarak, her bir işlem için açık dosya sayısına bakabilirsiniz.
Öncelikle, Nginx işlem PID’lerini bulun:
ps aux | grep nginx
Bu komut, Nginx master ve worker process PID’lerini gösterecektir. Bir worker process için örnek açık dosya sayısını görmek için şu komutu kullanın:
ls /proc/<nginx_worker_pid>/fd | wc -l
3. worker_rlimit_nofile
Ayarını Kontrol Etmek:
Nginx yapılandırmasında worker_rlimit_nofile
direktifi ile açık dosya sınırını belirleyebilirsiniz. Bu değeri yapılandırma dosyanızda kontrol edin:
grep 'worker_rlimit_nofile' /etc/nginx/nginx.conf
Eğer bu değeri ayarlamadıysanız, Nginx varsayılan limitlere dayanır. Sistem genelinde limitleri öğrenmek için şu komutu kullanabilirsiniz:
ulimit -n
Bu komut, sistemdeki genel açık dosya limiti ayarını gösterir.
Sonuç:
Yukarıdaki yöntemlerle Nginx reverse proxy’nin kaç dosya açtığını kontrol edebilirsiniz. Eğer limitlerin üzerinde bir dosya kullanımı varsa, yapılandırmanızı optimize etmeniz gerekebilir.