Nginx bilan ishlashda 1024 ta ulanishdan oshganda xato yuzaga kelsa nima qilish kerak?
sobes.tech AI
AIdan javob
Бу, очилган файл дескрипторларининг сонида чекловни кўрсатади.
Ечиш йўллари:
-
Nginx конфигурациясида
worker_connectionsни ошириш:// Бир ишчи жараён учун максимал уланишлар сонини ошириш events { worker_connections 4096; // ёки кўпроқ, эҳтиёж ва ресурсларга қараб } -
Операцион тизим даражасида очилган файллар лимитини ошириш:
- Ҳозирги фойдаланувчи сессияси учун:
# Мавжуд вақтда очилган файллар лимитини қисман ошириш ulimit -n 65536 - Барча тизим учун (доимий):
/etc/security/limits.confфайлини таҳрир қилинг. Қаторлар қўшинг:(# Фойдаланувчига хос лимитлар nginx soft nofile 65536 nginx hard nofile 65536 # Ёки барча фойдаланувчилар учун # * soft nofile 65536 # * hard nofile 65536nginxисмини ўзгартириш мумкин, агар бошқа бўлса.) Ўзгартиришлар амалга оширилиши учун тизимни қайта юклаш ёки қайта кириш керак, ёкиsysctl -pишга туширинг.
- Ҳозирги фойдаланувчи сессияси учун:
-
Глобал ядро созламаларини текшириш:
fs.file-maxетарли юқори бўлишини таъминланг.# Ҳозирги қийматни текшириш cat /proc/sys/fs/file-max # Янги қийматни вақтинча ўрнатиш # sudo sysctl -w fs.file-max=100000 # Доимий ўрнатиш учун - `/etc/sysctl.conf` файлини таҳрир қилинг # Қатор қўшинг: fs.file-max = 100000 # Ўзгартиришларни қўллаш # sudo sysctl -p -
Nginx фойдаланувчисига бу қадар файл очиш ҳуқуқи борлигига ишонч ҳосил қилинг: Nginx қайси фойдаланувчи билан ишлаётганини ва унга қандай лимитлар ўрнатилганини текширинг. Бу 2-чи пункт билан боғлиқ.
-
Nginx-ни қайта юклаш: Конфигурация ёки тизим лимитларига ўзгартиришлар киритилгандан кейин, уни қайта юклаш керак.
# Nginx-ни қайта юклаш sudo systemctl reload nginx # Ёки, агар ёрдам бермаса # sudo systemctl restart nginx
Ечимда устуворлик:
worker_connectionsни текшириб, ошириш.- Nginx фойдаланувчиси учун файл дескриптор лимитларини ошириш.
- Глобал
fs.file-maxлимитини ошириш. - Nginx-ни қайта юклаш.
Эътибор беринг, лимитларни ошириш асосланиши ва сервернинг мавжуд ресурслари билан боғлиқ бўлиши керак (хотира, CPU). Жуда юқори қийматлар тизимнинг барқарорлигига таъсир қилиши мумкин.