Middle
Чӣ маҳдудиятҳо метавонанд дар сервери nginx вуҷуд дошта бошанд ва бо чӣ метавонанд алоқаманд бошанд?
sobes.tech AI
Ҷавоб аз AI
Маҳдудиятҳои Nginx метавонанд бо иҷроиш, бехатарӣ ва захираҳои системӣ алоқаманд бошанд.
Маҳдудиятҳои асосӣ:
worker_processes: Миқдори равандҳои кории Nginx-ро маҳдуд мекунад. Бо шумораи ядраҳои процессор ва ҳаҷми хотираи дастрас алоқаманд аст. Қимати хеле калон метавонад ба харҷи иловагии гузариш ба контекст оварда расонад, дар ҳоле ки хеле ками он истифодаи номукаммалонаи захираҳоро ба вуҷуд меорад.worker_connections: Максимум шумораи пайвастагиҳои ҳамзамон, ки як раванди корӣ метавонад идора кунад. Бо дескрипторҳои файлҳои системаи амалӣ (ulimit -n) ва хотираи дастрас алоқаманд аст.client_max_body_size: Ҳаҷми максималии мӯътадили бадани дархости муштарӣ. Бо пешгирии ҳамлаҳои "хизматрасонии рад" (DoS) тавассути фиристодани дархостҳои хеле калон алоқаманд аст.limit_conn/limit_req: Модулҳо барои маҳдуд кардани шумораи пайвастагиҳои ҳамзамон ё суръати дархостҳо аз як IP. Барои муҳофизат аз ҳамлаҳои DoS ва зӯроварӣ истифода мешаванд.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 ва устувории шабака алоқаманд аст.
Маҳдудиятҳо метавонанд вобаста бошанд:
- Системаи амалӣ: Маҳдудиятҳои системӣ барои шумораи дескрипторҳои файлҳо, сӯрохиҳо, ҳаҷми хотира.
- Воридотҳои сахтафзор: Шумораи ядраҳои процессор, ҳаҷми RAM, суръати шабака.
- Бориш: Шумораи эҳтимолии корбарони ҳамзамон, шиддати дархостҳо.
- Конфигуратсияи Nginx: Директивҳо дар файлҳои конфигуратсия.
- Бехатарӣ: Зарурияти муҳофизат аз ҳамлаҳои DoS, кӯшишҳои шикастани паролҳо ва таҳдидҳои дигар.
Маслиҳат барои танзими worker_processes ва worker_connections:
# Шумораи равандҳои кориро мувофиқи ядраҳои CPU муайян мекунем.
worker_processes auto;
# Максимум шумораи пайвастагиҳо, ки як раванди корӣ метавонад идора кунад.
# 65535 - арзиши оддӣ барои Linux, аммо бояд `ulimit -n` санҷида шавад
# 1024 (аз пешгузашта) * worker_processes - шумораи умумии пайвастагиҳо, ки Nginx метавонад идора кунад.
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 |
Танзимоти дурустии маҳдудиятҳо барои устуворӣ, иҷроиш ва бехатарии Nginx муҳим аст. Ин бисёр вақт ниёз ба мониторинг ва танзими такрорӣ дорад.