Πώς αλλάζω τα όρια στη διαμόρφωση του 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 megabytes -
Όριο αριθμού συνδέσεων (worker_connections): Ορίζει τον μέγιστο αριθμό ταυτόχρονων συνδέσεων που μπορεί να διαχειριστεί μια εργασία (worker process).
# Στο πλαίσιο των 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): Ο χρόνος αναμονής για λήψη απάντησης από τον διαμεσολαβητή server.
# Στο πλαίσιο του 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 server { listen 80; server_name example.com; client_max_body_size 50M; # Αλλαγή του ορίου σώματος αιτήματος για αυτόν τον διακομιστή location / { # ... } } - Ελέγξτε τη σύνταξη της διαμόρφωσης:
nginx -t - Επανεκκινήστε το Nginx για να εφαρμοστούν οι αλλαγές:
sudo systemctl reload nginx # ή sudo service nginx reload
Κατά την αλλαγή των ορίων, είναι σημαντικό να κατανοείτε τον σκοπό τους και την πιθανή επίδρασή τους στην απόδοση και την ασφάλεια.