Sobes.tech
Middle

Nginx серверинде кандай чектөөлөр болушу мүмкүн жана алар менен эмне байланыштуу болушу мүмкүн?

sobes.tech AI

AIден жооп

Nginx чектөөлөрү өндүрүмдүүлүккө, коопсуздукка жана системдик ресурстарга байланыштуу болушу мүмкүн:

Негизги чектөөлөр:

  • worker_processes: Nginx иштөө процесстеринин санын чектейт. Бул процессордун ядролору жана жеткиликтүү эс тутум менен байланыштуу. Өте чоң маанилер контекст алмашуунун ашыкча чыгымдарына алып келиши мүмкүн, ал эми өтө кичине - ресурстарды натыйжалуу пайдаланбоого:
  • worker_connections: бир иштөө процесси иштей турган эң көп бир мезгилде байланыштардын саны. Бул операциялык тутумдун файл дескрипторлору (ulimit -n) жана жеткиликтүү эс тутум менен байланыштуу:
  • client_max_body_size: кардардын суроо-талаптын денесинин максималдуу өлчөмү. Бул DDoS чабуулдарын алдын алуу үчүн, өтө чоң суроолорду жүктөө аркылуу:
  • limit_conn / limit_req: бир IP даректен бир мезгилде байланыштардын саны же суроо-талап ылдамдыгын чектөөчү модулдар. Бул DDoS чабуулдарына жана зыянын алдын алуу үчүн колдонулат:
  • open_file_cache max: ачылган файлдар кэшиндеги эң көп жазуулар. Бул бир мезгилде ачылган файлдар саны жана жеткиликтүү эс тутум менен байланыштуу. Көптөгөн файлдар менен иштөөдө (мисалы, статикалык файлдар, логдор) иштөөчү натыйжалуулукка таасир этет:
  • proxy_buffer_size / proxy_buffers: прокси жооптору үчүн буферлердин өлчөмдөрү жана саны. Бул эс тутум менен байланыштуу. Туура эмес маанилер каталарга же эс тутумдун натыйжалуу эмес колдонулушуна алып келиши мүмкүн:
  • Тайм-ауттар:
    • client_body_timeout: кардардын суроо денесинин бөлүктөрүн алуу аралыгындагы убакыт:
    • client_header_timeout: кардардын суроо башчаларын алуу аралыгындагы убакыт:
    • send_timeout: маалыматтарды жөнөтүү аралыгындагы убакыт:
    • keepalive_timeout: keep-alive байланыштарын кармоо үчүн убакыт: Бул байланыштын туруктуулугу жана жай чабуулдарга каршы коргоо менен байланыштуу:
  • resolver_timeout: DNS аттарын чечүү үчүн убакыт. DNS серверлеринин жеткиликтүүлүгү жана тармактын туруктуулугу менен байланыштуу:

Чектөөлөр төмөнкү факторлорго көз каранды болушу мүмкүн:

  • Операциялык система: файл дескрипторлору, агымдар, эс тутумдун көлөмү боюнча системдик чектөөлөр:
  • Аппараттык ресурстар: процессор ядролорунун саны, оперативдик эс тутумдун көлөмү, тармактык өткөрүмдүүлүк:
  • Жүктөө: күтүлгөн бир мезгилде колдонучулардын саны, суроо-талаптын интенсивдүүлүгү:
  • Nginx конфигурациясы: конфигурация файлдарындагы директивалар:
  • Коопсуздук: DoS чабуулдарынан, паролдорду чогултуу аракеттеринен жана башка коркунучтардан коргоо зарылдыгы:

worker_processes жана worker_connections үчүн мисал конфигурация:

# CPU ядролору боюнча иштөө процесстеринин санын аныктайбыз.
worker_processes auto;

# Бир иштөө процесси иштей турган эң көп байланыштар саны.
events {
    worker_connections 65535;
}

Чектөөлөрдүн мисалдары үчүн таблица:

Чектөө Байланыш Туура маанилүү
worker_processes CPU auto
worker_connections Файл дескрипторлору, эс тутум 1024 - 65535
client_max_body_size Коопсуздук 1m - 100m
limit_conn Коопсуздук, жүктөө Саясатка жараша
keepalive_timeout Ишке ашыруу, жүктөө 60s - 120s
open_file_cache max Эс тутуму, файлдердин саны 1000 - 100000

Туура чектөөлөрдү орнотуу туруктуулук, өндүрүмдүүлүк жана коопсуздук үчүн өтө маанилүү. Бул көбүнчө мониторинг жана кайра карап түзөтүү аркылуу жасалат.