Sobes.tech
Middle

Kako promeniti limite u konfiguraciji Nginx?

sobes.tech АИ

Одговор од АИ

Promena limita u konfiguraciji Nginx-a vrši se uređivanjem konfiguracionih fajlova, koji se obično nalaze u direktorijumima /etc/nginx/ ili /usr/local/nginx/conf/.

Evo najčešćih limita i načina njihovog menjanja:

  1. Limit veličine tela zahteva (client_max_body_size): Određuje maksimalnu dozvoljenu veličinu tela zahteva klijenta. Važno za učitavanje fajlova.

    # U kontekstu http, server ili location
    client_max_body_size 10M; # Primer: postavi limit na 10 megabajta
    
  2. Limit broja konekcija (worker_connections): Određuje maksimalan broj istovremenih konekcija koje može obraditi jedan radni proces.

    # U kontekstu events
    events {
        worker_connections 1024; # Primer: 1024 konekcije po procesu
        # ostale postavke događaja...
    }
    
  3. Limit vremena čekanja na konekciju (keepalive_timeout): Određuje vreme tokom kojeg keep-alive veza sa klijentom ostaje otvorena nakon obrade poslednjeg zahteva.

    # U kontekstu http, server ili location
    keepalive_timeout 60s; # Primer: 60 sekundi
    
  4. Limit vremena čekanja na slanje zaglavlja zahteva (client_header_timeout): Vreme čekanja od strane klijenta za slanje zaglavlja zahteva. Ako ne pošalje u tom vremenu, veza se zatvara.

    # U kontekstu http, server ili location
    client_header_timeout 60s; # Primer: 60 sekundi
    
  5. Limit vremena čekanja na slanje tela zahteva (client_body_timeout): Vreme čekanja od strane klijenta za slanje tela zahteva. Ako ne pošalje u tom vremenu, veza se zatvara.

    # U kontekstu http, server ili location
    client_body_timeout 60s; # Primer: 60 sekundi
    
  6. Limit vremena čekanja na odgovor od proksi servera (proxy_read_timeout): Vreme čekanja za dobijanje odgovora od proksi servera.

    # U kontekstu http, server ili location
    proxy_read_timeout 120s; # Primer: 120 sekundi
    
  7. Limit otvorenih fajlova (worker_rlimit_nofile): Postavlja maksimalan broj otvorenih fajlova za radni proces. Važno za veliki broj konekcija.

    # U glavnom kontekstu
    worker_rlimit_nofile 65535; # Primer: 65535 fajlova
    

    Napomena: Za ovaj limit može biti potrebna i konfiguracija limita na nivou operativnog sistema (ulimit).

Koraci za promenu:

  1. **Odredite koji limit treba promeniti i u kom kontekstu (http, server, location, events, main).
  2. Pronađite odgovarajući konfiguracioni fajl (obično nginx.conf ili fajlove u conf.d/ ili sites-available/sites-enabled).
  3. Dodajte ili izmenite direktivu sa željenom vrednošću.
    # Primer dodavanja u server blok
    server {
        listen 80;
        server_name example.com;
    
        client_max_body_size 50M; # Promena limita tela zahteva za ovaj server
    
        location / {
            # ...
        }
    }
    
  4. Proverite sintaksu konfiguracije:
    nginx -t
    
  5. Restartujte Nginx da bi promene stupile na snagu:
    sudo systemctl reload nginx
    # ili
    sudo service nginx reload
    

Prilikom promene limita, važno je razumeti njihovu svrhu i potencijalni uticaj na performanse i sigurnost.