Sobes.tech
Middle

Чӣ гуна метавон лимитҳоро дар конфигуратсияи Nginx тағир дод?

sobes.tech AI

Ҷавоб аз AI

Тамосозии лимитҳо дар конфигуратсияи Nginx тавассути таҳрири файлҳои конфигуратсия, ки одатан дар директорияҳои /etc/nginx/ ё /usr/local/nginx/conf/ ҷойгир шудаанд, анҷом дода мешавад.

Инҳоянд лимитҳои маъмул ва роҳҳои иваз кардани онҳо:

  1. Лимити андозаи бадани дархост (client_max_body_size): Максималии андозаи бадани дархости муштариро муайян мекунад. Барои боркунии файлҳо муҳим аст.

    # Дар контексти http, server ё location
    client_max_body_size 10M; # Масалан: лимитро ба 10 мегабайт гузоред
    
  2. Лимити шумораи пайвастшавиҳо (worker_connections): Максималии шумораи пайвастшавиҳои ҳамзамонро, ки як раванди корӣ метавонад идора кунад, муайян мекунад.

    # Дар контексти events
    events {
        worker_connections 1024; # Масалан: 1024 пайвастшавӣ дар ҳар раванд
        # дигар танзимот...
    }
    
  3. Лимити вақти интизорӣ барои пайвастшавӣ (keepalive_timeout): Вақти, ки дар он пайвасти keep-alive бо муштарӣ пас аз коркарди охирин дархост боз мемонад.

    # Дар контексти http, server ё location
    keepalive_timeout 60s; # Масалан: 60 сония
    
  4. Лимити вақти интизорӣ барои фиристодани сарлавҳаҳои дархост (client_header_timeout): Вақти интизорӣ аз ҷониби муштарӣ барои фиристодани сарлавҳаҳои дархост. Агар дар ин вақт фиристода нашуд, пайвастшавӣ баста мешавад.

    # Дар контексти http, server ё location
    client_header_timeout 60s; # Масалан: 60 сония
    
  5. Лимити вақти интизорӣ барои фиристодани бадани дархост (client_body_timeout): Вақти интизорӣ аз ҷониби муштарӣ барои фиристодани бадани дархост. Агар дар ин вақт фиристода нашуд, пайвастшавӣ баста мешавад.

    # Дар контексти http, server ё location
    client_body_timeout 60s; # Масалан: 60 сония
    
  6. Лимити вақти интизорӣ барои гирифтани ҷавоб аз сервери прокси (proxy_read_timeout): Вақти интизорӣ барои гирифтани ҷавоб аз сервери прокси.

    # Дар контексти http, server ё location
    proxy_read_timeout 120s; # Масалан: 120 сония
    
  7. Лимити файлҳои кушод (worker_rlimit_nofile): Муайян мекунад, ки максималии шумораи файлҳои кушод барои раванди корӣ. Барои шумораи зиёди пайвастшавиҳо муҳим аст.

    # Дар контексти асосӣ
    worker_rlimit_nofile 65535; # Масалан: 65535 файл
    

    Эзоҳ: Барои ин лимит инчунин эҳтимолан лозим аст, танзимоти лимитҳо дар сатҳи системаи оператсионӣ (ulimit).

Қадамҳо барои иваз кардан:

  1. **Муайян кунед, ки кадом лимитро лозим аст, ва дар кадом контекст (http, server, location, events, main).
  2. Пойед ёфтан файли конфигуратсия мувофиқ (одатан nginx.conf ё файлҳо дар conf.d/ ё sites-available/sites-enabled).
  3. **Илова ё тағир додани директива бо арзиши лозимӣ.
    # Масалан, илова дар блоки server
    server {
        listen 80;
        server_name example.com;
    
        client_max_body_size 50M; # Иваз кардани лимити бадани дархост барои ин сервер
    
        location / {
            # ...
        }
    }
    
  4. Проверка синтаксиси конфигуратсия:
    nginx -t
    
  5. Реҷагирӣ Nginx барои татбиқ кардани тағирот:
    sudo systemctl reload nginx
    # ё
    sudo service nginx reload
    

Дар тағир додани лимитҳо, муҳим аст, ки мақсади онҳоро ва таъсири эҳтимолии онҳо ба иҷроиш ва бехатариро фаҳмед.