Nginx ilə işləyərkən 1024 bağlantıdan çox olduqda səhv baş verərsə nə etməli?
sobes.tech Süni İntellekt
AI-dan cavab
Bu, açıq fayl təsvirlərinin sayında məhdudiyyəti göstərir.
Həll yolları:
-
Nginx konfiqurasiyasında
worker_connections-u artırın:// İşçi proses üçün maksimum əlaqə sayını artırın events { worker_connections 4096; // və ya daha çox, ehtiyac və resurslara görə } -
Əməliyyat sistemində açıq faylların limiti artırın:
- İstifadəçi sessiyası üçün:
# Müvəqqəti olaraq açıq faylların limitini artırın ulimit -n 65536 - Bütün sistem üçün (daimi):
/etc/security/limits.conffaylını redaktə edin. Sətirlər əlavə edin:(# İstifadəçi üçün xüsusi limitlər nginx soft nofile 65536 nginx hard nofile 65536 # Alternativ olaraq, bütün istifadəçilər üçün # * soft nofile 65536 # * hard nofile 65536nginx-i istifadəçi adını dəyişə bilərsiniz, əgər fərqlidirsə.) Dəyişikliklərin tətbiqi üçün sistemi yenidən başlatmaq və ya yenidən daxil olmaq və yasysctl -pişlətmək lazımdır.
- İstifadəçi sessiyası üçün:
-
Qlobal nüvə parametrlərini yoxlayın:
fs.file-max-ın kifayət qədər yüksək olduğundan əmin olun.# Mövcud dəyəri yoxlayın cat /proc/sys/fs/file-max # Yeni dəyər təyin edin (müvəqqəti) # sudo sysctl -w fs.file-max=100000 # Daimi olaraq təyin edin - `/etc/sysctl.conf` faylını redaktə edin # Sətir əlavə edin: fs.file-max = 100000 # Dəyişiklikləri tətbiq edin # sudo sysctl -p -
Nginx istifadəçisinin bu qədər fayl açmağa icazəsi olduğundan əmin olun: Nginx-in hansı istifadəçi ilə işlədiyini və bu istifadəçi üçün hansı limitlərin təyin olunduğunu yoxlayın. Bu, 2-ci maddə ilə əlaqədardır.
-
Nginx-i yenidən başlatın: Konfiqurasiya və ya sistem limitlərində dəyişiklik etdikdən sonra onu yenidən başlatmaq lazımdır.
# Nginx-i yenidən yükləyin sudo systemctl reload nginx # Yoxsa, əgər kömək etməzsə # sudo systemctl restart nginx
Həlldə prioritet:
worker_connections-u yoxlayın və artırın.- Nginx istifadəçisi üçün fayl təsvirçisi limitlərini yoxlayın və artırın.
- Qlobal
fs.file-maxlimitini yoxlayın və artırın. - Nginx-i yenidən başlatın.
Əhəmiyyətlidir ki, limitlərin artırılması əsaslandırılmış və serverin mövcud resursları ilə uyğun olmalıdır (yaddaş, CPU). Çox yüksək dəyərlər sistemin stabilliyinə mənfi təsir göstərə bilər.