როგორ შევცვალოთ ლიმიტები Nginx კონფიგურაციაში?
sobes.tech AI
პასუხი AI-სგან
ნგინქსის კონფიგურაციის ლიმიტების შეცვლა შესაძლებელია კონფიგურაციის ფაილების რედაქტირებით, რომლებიც ჩვეულებრივ მდებარეობს დირექტორიებში /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 კავშირი თითო პროცესზე # სხვა event პარამეტრები... } -
დაკავშირების მოლოდინის დრო (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): განსაზღვრავს მაქსიმალურ რაოდენობას გახსნილი ფაილებისთვის სამუშაო პროცესისთვის. მნიშვნელოვანია დიდი რაოდენობის კავშირებისთვის.
# main კონტექსტში worker_rlimit_nofile 65535; # მაგალითი: 65535 ფაილიშენიშვნა: ამ ლიმიტისთვის შეიძლება საჭირო იყოს ოპერაციული სისტემის დონეზე ლიმიტების კონფიგურაცია (ulimit).
ცვლილების ნაბიჯები:
- განსაზღვრეთ, რომელი ლიმიტი გსურთ შეცვალოთ და რომელ კონტექსტში (http, server, location, events, main) ვრცელდება.
- იპოვეთ შესაბამისი კონფიგურაციის ფაილი (საშუალოდ
nginx.confან ფაილებიconf.d/ანsites-available/sites-enabled). - დაამატეთ ან შეცვალეთ დირექტივა საჭირო მნიშვნელობით.
# მაგალითი სერვერის ბლოკში დამატებისთვის server { listen 80; server_name example.com; client_max_body_size 50M; # ამ სერვერისთვის მოწოდების სხეულის ლიმიტის შეცვლა location / { # ... } } - შეამოწმეთ კონფიგურაციის სინტაქსი:
nginx -t - გაახალგაზრდავეთ Nginx-ს ცვლილებების მისაღებად:
sudo systemctl reload nginx # ან sudo service nginx reload
ლიმიტების ცვლილებისას მნიშვნელოვანია მათი დანიშნულების და შესაძლო გავლენის გაგება შესრულებაზე და უსაფრთხოებაზე.