Чӣ бояд кард, агар ҳангоми кор бо nginx хатогӣ рӯй диҳад вақте ки аз 1024 пайвастшавӣ зиёд мешавад?
sobes.tech AI
Ҷавоб аз AI
Ин индикација за ограничување на бројот на отворени файловни дескриптори.
Решенија:
-
Зголемување на
worker_connectionsво конфигурацијата на Nginx:// Зголемување на максималниот број на врски по еден worker процес 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со името на корисникот под кој работи Nginx, ако е различно.) Потребно е да се рестартира системот или да се повторно се најавите за да се применат промените, или да се изврши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 или системските лимити, потребно е да се рестартира.
# Рестартирање на Nginx sudo systemctl reload nginx # Или, ако не помогне # sudo systemctl restart nginx
Приоритет во решавањето:
- Проверете и зголемете
worker_connections. - Проверете и зголемете лимитите за датотеки за корисникот Nginx.
- Проверете и зголемете глобалниот лимит
fs.file-max. - Рестартирајте Nginx.
Важно е да се запамети дека зголемувањето на лимитите треба да биде оправдано и во согласност со достапните ресурси на серверот (памет, CPU). Превисоките вредности можат да доведат до нестабилност на системот.