Android

Ρύθμιση του σφάλματος nginx και του αρχείου καταγραφής πρόσβασης

How to Fix Port Conflicts in Apache (Xampp)

How to Fix Port Conflicts in Apache (Xampp)

Πίνακας περιεχομένων:

Anonim

Το Nginx είναι ένας HTTP και αντίστροφος διακομιστής μεσολάβησης ανοιχτού κώδικα, υψηλής απόδοσης, υπεύθυνος για το χειρισμό του φορτίου ορισμένων από τις μεγαλύτερες τοποθεσίες στο Διαδίκτυο. Κατά τη διαχείριση διακομιστών web NGINX, μία από τις πιο συχνές εργασίες που θα εκτελέσετε είναι να ελέγξετε τα αρχεία καταγραφής.

Η γνώση του τρόπου διαμόρφωσης και ανάγνωσης των αρχείων καταγραφής είναι πολύ χρήσιμη για την αντιμετώπιση προβλημάτων διακομιστή ή εφαρμογών καθώς παρέχουν λεπτομερείς πληροφορίες εντοπισμού σφαλμάτων.

Το Nginx καταγράφει τα αρχεία των συμβάντων του σε δύο τύπους αρχείων καταγραφής: αρχεία καταγραφής πρόσβασης και αρχεία καταγραφής σφαλμάτων. Τα αρχεία καταγραφής πρόσβασης καταγράφουν πληροφορίες σχετικά με αιτήματα πελατών και τα αρχεία καταγραφής σφαλμάτων γράφουν πληροφορίες σχετικά με τα θέματα διακομιστή και εφαρμογών.

Αυτό το άρθρο περιγράφει τον τρόπο ρύθμισης παραμέτρων και ανάγνωσης των αρχείων καταγραφής πρόσβασης και σφαλμάτων Nginx.

Ρύθμιση του αρχείου καταγραφής πρόσβασης

Κάθε φορά που γίνεται επεξεργασία ενός αιτήματος πελάτη, το Nginx δημιουργεί ένα νέο συμβάν στο αρχείο καταγραφής πρόσβασης. Κάθε εγγραφή συμβάντος περιέχει μια σφραγίδα χρόνου και περιλαμβάνει διάφορες πληροφορίες σχετικά με τον πελάτη και τον απαιτούμενο πόρο. Τα αρχεία καταγραφής πρόσβασης μπορούν να σας δείξουν την τοποθεσία των επισκεπτών, τη σελίδα που επισκέπτονται, τον χρόνο που ξοδεύουν στη σελίδα και πολλά άλλα.

Η οδηγία log_format σάς επιτρέπει να ορίσετε τη μορφή των μηνυμάτων που έχετε καταγράψει. Η οδηγία access_log επιτρέπει και καθορίζει τη θέση του αρχείου καταγραφής και τη χρησιμοποιούμενη μορφή.

Η πιο βασική σύνταξη της οδηγίας access_log έχει ως εξής:

access_log log_file log_format;

Όπου log_file είναι η πλήρης διαδρομή στο αρχείο καταγραφής, και το log_format είναι η μορφή που χρησιμοποιείται από το αρχείο καταγραφής.

Το αρχείο καταγραφής πρόσβασης μπορεί να ενεργοποιηθεί είτε σε μπλοκ οδηγιών http , server ή location .

Από προεπιλογή, το αρχείο καταγραφής πρόσβασης είναι ενεργοποιημένο παγκοσμίως στην οδηγία http μέσα στο κύριο αρχείο ρύθμισης Nginx.

/etc/nginx/nginx.conf

http {… access_log /var/log/nginx/access.log;… }

Για καλύτερη διατήρηση, συνιστάται να ορίσετε ξεχωριστό αρχείο καταγραφής πρόσβασης για κάθε μπλοκ διακομιστή. Η οδηγία access_log που έχει οριστεί στην οδηγία για το server υπερισχύει της οδηγίας που έχει οριστεί στην οδηγία http (ανώτερο επίπεδο).

/etc/nginx/conf.d/domain.com.conf

http {… access_log /var/log/nginx/access.log;… server { server_name domain.com access_log /var/log/nginx/domain.access.log;… } }

Εάν δεν έχει καθοριστεί καμία μορφή καταγραφής Nginx χρησιμοποιεί την προκαθορισμένη συνδυασμένη μορφή που μοιάζει με αυτή:

log_format combined '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';

Για να αλλάξετε τη μορφή καταγραφής, αντικαταστήστε την προεπιλεγμένη ρύθμιση ή ορίστε μια νέα. Για παράδειγμα, για να ορίσετε μια νέα μορφή καταγραφής που ονομάζεται κύρια και η οποία θα επεκτείνει τη συνδυασμένη μορφή με την τιμή που εμφανίζει την κεφαλίδα X-Forwarded-For προσθέστε τον ακόλουθο ορισμό στην οδηγία http ή server :

log_format custom '$remote_addr - $remote_user "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';

Για να χρησιμοποιήσετε τη νέα μορφή, καθορίστε το όνομά της μετά το αρχείο καταγραφής όπως φαίνεται παρακάτω:

access_log /var/log/nginx/access.log custom;

Ενώ το αρχείο καταγραφής πρόσβασης παρέχει πολύ χρήσιμες πληροφορίες. απαιτεί χώρο στο δίσκο και μπορεί να επηρεάσει την απόδοση του διακομιστή. Εάν ο διακομιστής σας είναι χαμηλός σε πόρους και έχετε έναν πολυάσχολο ιστότοπο, ίσως θελήσετε να απενεργοποιήσετε το αρχείο καταγραφής πρόσβασης. Για να το κάνετε αυτό, απενεργοποιήστε την τιμή της οδηγίας access_log :

access_log off;

Ρύθμιση του αρχείου καταγραφής σφαλμάτων

Το Nginx γράφει μηνύματα σχετικά με τα σφάλματα εφαρμογής και γενικού διακομιστή στο αρχείο καταγραφής σφαλμάτων. Εάν αντιμετωπίζετε σφάλματα στην εφαρμογή σας στο Web, το αρχείο καταγραφής σφαλμάτων είναι η πρώτη θέση για να ξεκινήσετε για προβλήματα αντιμετώπισης προβλημάτων.

Η οδηγία error_log ενεργοποιεί και ορίζει τη θέση και το επίπεδο σοβαρότητας του αρχείου καταγραφής σφαλμάτων. Παίρνει την παρακάτω φόρμα και μπορεί να οριστεί σε ένα http , server ή μπλοκ location :

error_log log_file log_level

Η παράμετρος log_level ορίζει το επίπεδο καταγραφής. Παρακάτω αναφέρονται τα επίπεδα ανάλογα με τη σοβαρότητα (από χαμηλό σε υψηλό):

  • debug - Μηνύματα εντοπισμού σφαλμάτων. info - Πληροφοριακά μηνύματα. notice - ειδοποιήσεις. warn - Προειδοποιήσεις. error - Λάθη κατά την επεξεργασία μιας αίτησης. crit - Κρίσιμα ζητήματα. Απαιτεί άμεση ενέργεια. alert - Ειδοποιήσεις. Πρέπει να ληφθούν άμεσα μέτρα. emergencies - κατάσταση έκτακτης ανάγκης. Το σύστημα βρίσκεται σε άχρηστη κατάσταση.

Κάθε επίπεδο καταγραφής περιλαμβάνει τα υψηλότερα επίπεδα. Για παράδειγμα, αν ρυθμίσετε το επίπεδο καταγραφής για να warn , το Nginx θα καταγράψει επίσης τα μηνύματα error , crit , alert και emerg .

Όταν δεν έχει καθοριστεί η παράμετρος log_level , αυτή είναι προεπιλεγμένη ως error .

Από προεπιλογή, η οδηγία error_log ορίζεται στην οδηγία http μέσα στο κύριο αρχείο nginx.conf:

/etc/nginx/nginx.conf

http {… error_log /var/log/nginx/error.log;… }

Όπως με τα αρχεία καταγραφής πρόσβασης, συνιστάται να ορίσετε ένα ξεχωριστό αρχείο καταγραφής σφαλμάτων για κάθε μπλοκ διακομιστή, το οποίο παρακάμπτει τη ρύθμιση που κληρονόμησε από τα υψηλότερα επίπεδα.

Για παράδειγμα, για να ορίσετε το αρχείο καταγραφής σφάλματος domain.com για να warn ότι θα χρησιμοποιούσατε:

http {… error_log /var/log/nginx/error.log;… server { server_name domain.com error_log /var/log/nginx/domain.error.log warn;… } }

Κάθε φορά που τροποποιείτε το αρχείο ρυθμίσεων, πρέπει να κάνετε επανεκκίνηση της υπηρεσίας Nginx για να εφαρμοστούν οι αλλαγές.

Θέση των αρχείων καταγραφής

Από προεπιλογή στις περισσότερες διανομές Linux, όπως το Ubuntu, το CentOS και το Debian, τα αρχεία καταγραφής πρόσβασης και σφαλμάτων βρίσκονται στον κατάλογο /var/log/nginx .

Ανάγνωση και κατανόηση των αρχείων καταγραφής Nginx

Μπορείτε να ανοίξετε και να αναλύσετε τα αρχεία καταγραφής χρησιμοποιώντας τις τυπικές εντολές όπως cat , less , grep , cut , awk κ.ο.κ.

Ακολουθεί ένα αρχείο καταγραφής από το αρχείο καταγραφής πρόσβασης που χρησιμοποιεί την προεπιλεγμένη μορφή αρχείου καταγραφής Nginx:

192.168.33.1 - - "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"

Ας αναλύσουμε τι σημαίνει κάθε πεδίο του ρεκόρ:

  • $remote_addr - 192.168.33.1 - Η διεύθυνση IP του πελάτη που υποβάλλει το αίτημα. $remote_user - - - Χρήστης με πιστοποίηση HTTP. Όταν δεν έχει οριστεί το όνομα χρήστη, αυτό το πεδίο εμφανίζει - . - - Χρόνος τοπικού διακομιστή. "$request" - "GET / - Ο τύπος αίτησης, η διαδρομή και το πρωτόκολλο. $status - 200 - Ο κωδικός απάντησης διακομιστή. $body_bytes_sent - 396 - Το μέγεθος της απόκρισης του διακομιστή σε byte. "$http_referer" - "-" - Η διεύθυνση URL της παραπομπής. "$http_user_agent" - Mozilla/5.0… - Ο παράγοντας χρήστη του πελάτη (πρόγραμμα περιήγησης ιστού).

Χρησιμοποιήστε την εντολή tail για να παρακολουθήσετε το αρχείο καταγραφής σε πραγματικό χρόνο:

tail -f access.log

συμπέρασμα

Τα αρχεία καταγραφής παρέχουν χρήσιμες πληροφορίες σχετικά με θέματα διακομιστή και τον τρόπο με τον οποίο οι επισκέπτες αλληλεπιδρούν με τον ιστότοπό σας.

Το Nginx σάς επιτρέπει να διαμορφώσετε τα αρχεία καταγραφής πρόσβασης και σφαλμάτων ανάλογα με τις ανάγκες σας.

nginx