Ko darīt, ja strādājot ar nginx rodas kļūda, pārsniedzot 1024 savienojumus?
sobes.tech AI
Atbilde no AI
Tas norāda uz atvērto failu deskriptoru skaita ierobežojumu.
Risinājumi:
-
Palielināt
worker_connectionsNginx konfigurācijā:// Palielinām maksimālo savienojumu skaitu vienam worker procesam events { worker_connections 4096; // vai vairāk, atkarībā no vajadzībām un resursiem } -
Palielināt atvērto failu limitu operētājsistēmas līmenī:
- Pašreizējai sesijai lietotājam:
# Pagaidu palielināt atvērto failu limitu ulimit -n 65536 - Visai sistēmai (pastāvīgi):
Rediģēt
/etc/security/limits.conffailu. Pievienot rindas:(Aizstāt# Lietotāja specifiskie ierobežojumi nginx soft nofile 65536 nginx hard nofile 65536 # Alternatīvi, visiem lietotājiem # * soft nofile 65536 # * hard nofile 65536nginxar lietotāja vārdu, ja tas ir citādi.) Nepieciešams pārstartēt sistēmu vai atkārtoti pieteikties, lai piemērotu izmaiņas, vai izpildītsysctl -p.
- Pašreizējai sesijai lietotājam:
-
Pārbaudīt globālos kodola iestatījumus: Pārliecinieties, ka
fs.file-maxir pietiekami augsts.# Pārbaudīt pašreizējo vērtību cat /proc/sys/fs/file-max # Piemērot jaunu vērtību (pagaidu) # sudo sysctl -w fs.file-max=100000 # Pastāvīgi iestatīt - rediģēt `/etc/sysctl.conf` # Pievienot rindu: fs.file-max = 100000 # Piemērot izmaiņas # sudo sysctl -p -
Pārliecinieties, ka Nginx lietotājam ir tiesības atvērt tik daudz failu: Pārbaudīt, ar kuru lietotāju darbojas Nginx un kādi ierobežojumi ir šim lietotājam. Tas ir saistīts ar otro punktu.
-
Pārstartēt Nginx: Pēc konfigurācijas izmaiņām un sistēmas limitu iestatīšanas, to nepieciešams pārstartēt.
# Pārstartēt Nginx sudo systemctl reload nginx # Ja tas nepalīdz # sudo systemctl restart nginx
Prioritāte risinājumā:
- Pārbaudīt un palielināt
worker_connections. - Pārbaudīt un palielināt failu limitus Nginx lietotājam.
- Pārbaudīt un palielināt globālo
fs.file-maxlimitu. - Pārstartēt Nginx.
Svarīgi atcerēties, ka limitu palielināšana jābalsta uz pamatotību un jāatbilst servera resursiem (atmiņa, CPU). Pārāk augstas vērtības var novest pie sistēmas nestabilitātes.