Nginx konfiqurasiyasında limitləri necə dəyişdirmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Nginx konfiqurasiyasında limitləri dəyişdirmək üçün adətən /etc/nginx/ və ya /usr/local/nginx/conf/ qovluqlarında yerləşən konfiqurasiya fayllarını redaktə etmək lazımdır.
Budur yaygın limitlər və onların dəyişdirilməsi üsulları:
-
Tələbin bədən ölçüsü limiti (client_max_body_size): Müştərinin tələbinin maksimum bədən ölçüsünü təyin edir. Fayl yükləmələri üçün vacibdir.
# http, server və ya location kontekstində client_max_body_size 10M; # Məsələn: limiti 10 megabayt olaraq təyin et -
Qoşulma sayı limiti (worker_connections): Bir işçi prosesi tərəfindən işlənə biləcək maksimum eyni zamanda qoşulma sayını təyin edir.
# events kontekstində events { worker_connections 1024; # Məsələn: hər proses üçün 1024 qoşulma # digər event parametrləri... } -
Qoşulma gözləmə vaxtı limiti (keepalive_timeout): Müştəri ilə keep-alive əlaqəsinin açıq qalma müddətini təyin edir.
# http, server və ya location kontekstində keepalive_timeout 60s; # Məsələn: 60 saniyə -
Tələbin başlıqlarını göndərmə vaxtı limiti (client_header_timeout): Müştərinin tələbinin başlığını göndərməsi üçün gözləmə müddəti. Bu müddət ərzində müştəri başlıq göndərməzsə, əlaqə bağlanır.
# http, server və ya location kontekstində client_header_timeout 60s; # Məsələn: 60 saniyə -
Tələbin bədənini göndərmə vaxtı limiti (client_body_timeout): Müştərinin tələbinin bədənini göndərməsi üçün gözləmə müddəti. Bu müddət ərzində müştəri bədən göndərməzsə, əlaqə bağlanır.
# http, server və ya location kontekstində client_body_timeout 60s; # Məsələn: 60 saniyə -
Proksi serverdən cavab alma vaxtı limiti (proxy_read_timeout): Proksi serverdən cavab alınması üçün gözləmə müddəti.
# http, server və ya location kontekstində proxy_read_timeout 120s; # Məsələn: 120 saniyə -
Açıq faylların limiti (worker_rlimit_nofile): İşçi prosesi üçün açıq faylların maksimum sayını təyin edir. Çox sayda əlaqə üçün vacibdir.
# main kontekstində worker_rlimit_nofile 65535; # Məsələn: 65535 faylQeyd: Bu limit üçün əməliyyat sistemində də limitlərin tənzimlənməsi lazım ola bilər (ulimit).
Dəyişiklik addımları:
- **Hansı limiti dəyişdirmək lazım olduğunu və hansı kontekstdə (http, server, location, events, main) tətbiq olunduğunu müəyyən et.
- **Uyğun konfiqurasiya faylını tap (adətən
nginx.confvə yaconf.d/və yasites-available/sites-enabledfaylları). - **Lazımi dırnaq və ya direktivi əlavə et və ya dəyişdir.
# server blokuna nümunə əlavə etmək server { listen 80; server_name example.com; client_max_body_size 50M; # Bu server üçün tələbin bədən limiti location / { # ... } } - Konfiqurasiya sintaksisini yoxla:
nginx -t - Dəyişiklikləri tətbiq etmək üçün Nginx-i yenidən başlat:
sudo systemctl reload nginx # və ya sudo service nginx reload
Limitlərin dəyişdirilməsi zamanı onların məqsədini və potensial təsirlərini anlamaq vacibdir, xüsusən də performans və təhlükəsizlik baxımından.