Ինչպես փոխել սահմանները Nginx կոնֆիգուրացիայում?
sobes.tech AI
Պատասխան AI-ից
Nginx կոնֆիգուրացիայի սահմանափակումները փոփոխելու համար անհրաժեշտ է խմբագրել կոնֆիգուրացիոն ֆայլերը, որոնք սովորաբար գտնվում են /etc/nginx/ կամ /usr/local/nginx/conf/ թղթապանակներում:
Ահա տարածված սահմանափակումներն ու դրանց փոփոխման եղանակները:
-
Հարցման մարմնի չափի սահմանափակում (client_max_body_size): Սահմանում է հաճախորդի հարցման մարմնի առավելագույն թույլատրելի չափը: Կարևոր է ֆայլերի բեռնման համար:
# http, server կամ location կոնտեքստում client_max_body_size 10M; # Օրինակ՝ սահմանել 10 մեգաբայթ -
Կապերի քանակի սահմանափակում (worker_connections): Սահմանում է առավելագույն միաժամանակյա կապերի քանակը, որը կարող է մշակել մեկ աշխատանքային պրոցեսը:
# events կոնտեքստում events { worker_connections 1024; # Օրինակ՝ 1024 կապեր մեկ պրոցեսում # այլ կարգավորումներ... } -
Կապի սպասման ժամանակի սահմանափակում (keepalive_timeout): Սահմանում է ժամանակը, որի ընթացքում keep-alive կապը մնում է բաց հետո վերջին հարցման մշակման:
# http, server կամ location կոնտեքստում keepalive_timeout 60s; # Օրինակ՝ 60 վայրկյան -
Հարցման գլխագրերի ուղարկման սպասման ժամանակի սահմանափակում (client_header_timeout): Ժամանակը, որը սպասում է հաճախորդը հարցման գլխագրերի ուղարկմանը:
# http, server կամ location կոնտեքստում client_header_timeout 60s; # Օրինակ՝ 60 վայրկյան -
Հարցման մարմնի ուղարկման սպասման ժամանակի սահմանափակում (client_body_timeout): Ժամանակը, որը սպասում է հաճախորդը մարմնի ուղարկմանը:
# http, server կամ location կոնտեքստում client_body_timeout 60s; # Օրինակ՝ 60 վայրկյան -
Պրոքսի պատասխան ստանալու ժամանակի սահմանափակում (proxy_read_timeout): Ժամանակը, որը սպասում է պատասխանին պրոքսի սերվերից:
# http, server կամ location կոնտեքստում proxy_read_timeout 120s; # Օրինակ՝ 120 վայրկյան -
Բաց ֆայլերի սահմանափակում (worker_rlimit_nofile): Սահմանում է բաց ֆայլերի առավելագույն քանակը աշխատանքային պրոցեսի համար:
# հիմնական կոնտեքստում worker_rlimit_nofile 65535; # Օրինակ՝ 65535 ֆայլՆշում: Այս սահմանափակման համար կարող է անհրաժեշտ լինել նաև օպերացիոն համակարգի մակարդակով սահմանափակումների կարգավորում:
Փոփոխությունների քայլերը:
- Նշեք, թե որ սահմանափակումը պետք է փոխել և որ կոնտեքստում (http, server, location, events, main):
- գտեք համապատասխան կոնֆիգուրացիոն ֆայլը (հաճախ
nginx.confկամ ֆայլերconf.d/կամsites-available/sites-enabledթղթապանակներում): - Ավելացրեք կամ փոփոխեք հրահանգը ցանկալի արժեքով:
# Օրինակ՝ ավելացնել server բլոկում server { listen 80; server_name example.com; client_max_body_size 50M; # Այս սերվերի համար հարցման մարմնի սահմանափակումը փոխել location / { # ... } } - Ստուգեք կոնֆիգուրացիայի սինտաքսին:
nginx -t - Վերագործարկեք Nginx-ը փոփոխությունները կիրառելու համար:
sudo systemctl reload nginx # կամ sudo service nginx reload
Լիմիտների փոփոխության ժամանակ կարևոր է հասկանալ նրանց նշանակությունը և հնարավոր ազդեցությունը արտադրողականության և անվտանգության վրա։