Επαναφόρτωση αντί για επανεκκίνηση
Η επαναφόρτωση δίνει εντολή στο NGINX να διαβάσει ξανά τη διαμόρφωση. Ξεκινά νέες διεργασίες εργασίας και αφήνει τις παλιές να ολοκληρώσουν τα εκκρεμή αιτήματά τους, οπότε οι επισκέπτες συνήθως δεν αντιλαμβάνονται τίποτα. Αν δεν μπορεί να εφαρμοστεί η νέα διαμόρφωση, το NGINX συνεχίζει να λειτουργεί με την παλιά. Η επανεκκίνηση σταματά πρώτα την υπηρεσία, διακόπτοντας τις συνδέσεις, και ενδέχεται να μην μπορέσει να την ξεκινήσει ξανά αν η διαμόρφωση είναι λανθασμένη.
Κρατήστε αντίγραφο του αρχείου που αλλάζετε
Πριν από την επεξεργασία, δημιουργήστε ένα αντίγραφο δίπλα στο αρχείο, με την ημερομηνία στο όνομά του. Μην αφήνετε αντίγραφα σε κατάλογο που το NGINX φορτώνει με μοτίβο μπαλαντέρ όπως conf.d/*.conf ή sites-enabled/*, γιατί θα τα φορτώσει και αυτά. Σε Debian και Ubuntu επεξεργαστείτε το αρχείο στο sites-available· η καταχώριση στο sites-enabled είναι συνήθως μόνο ένας σύνδεσμος προς αυτό.
sudo cp -a /etc/nginx/sites-available/example.conf /root/example.conf.$(date +%Y%m%d-%H%M%S)Πρώτα έλεγχος, μετά επαναφόρτωση
Το nginx -t ελέγχει τη σύνταξη και τα αρχεία στα οποία παραπέμπει η διαμόρφωση, όπως τα πιστοποιητικά. Χρησιμοποιήστε nginx -T για να δείτε την πλήρη διαμόρφωση μετά την ενσωμάτωση των επιμέρους αρχείων. Κάντε επαναφόρτωση μόνο αν ο έλεγχος πετύχει· η σύνδεση των εντολών με && το εξασφαλίζει. Ο έλεγχος δεν μπορεί να διαπιστώσει αν η διαμόρφωση κάνει αυτό που θέλατε, γι’ αυτό ανοίξτε στη συνέχεια τον ιστότοπο.
sudo nginx -t && sudo systemctl reload nginx
sudo nginx -T | less
curl -I https://example.com/Όταν κάτι πάει στραβά
Επαναφέρετε το αντίγραφο ασφαλείας, ελέγξτε ξανά και κάντε επαναφόρτωση. Αν η υπηρεσία έχει σταματήσει, το αρχείο καταγραφής σφαλμάτων και το ημερολόγιο δείχνουν την αιτία. Αναζητήστε μηνύματα για θύρα που χρησιμοποιείται ήδη, πιστοποιητικό που λείπει ή διπλό όνομα διακομιστή.
sudo cp -a /root/example.conf.20261031-120000 /etc/nginx/sites-available/example.conf
sudo nginx -t && sudo systemctl reload nginx
sudo journalctl -u nginx -n 50 --no-pager
sudo tail -n 50 /var/log/nginx/error.logΤι δεν καλύπτει η επαναφόρτωση
Οι συνδέσεις μεγάλης διάρκειας, όπως οι WebSockets, παραμένουν στις παλιές διεργασίες εργασίας μέχρι να τερματιστούν, επομένως οι παλιές διεργασίες μπορεί να συνεχίσουν να εκτελούνται για λίγο και να χρησιμοποιούν επιπλέον μνήμη. Μια αναβάθμιση πακέτου μπορεί να επανεκκινήσει την υπηρεσία από μόνη της. Δοκιμάστε πρώτα τις μεγαλύτερες αλλαγές σε δοκιμαστικό διακομιστή, μαζί με τα πιστοποιητικά και τις ανακατευθύνσεις.
Το NGINX Manager στο CH-J Server Manager
Το NGINX Manager επεξεργάζεται αρχεία διαμόρφωσης στους διαχειριζόμενους καταλόγους του NGINX σε διακομιστές Linux, έως 512 KiB ανά αρχείο. Κατά την αποθήκευση, η εφαρμογή δημιουργεί αντίγραφο ασφαλείας με επίθημα .chj-backup-, εκτελεί nginx -t και διατηρεί την αλλαγή μόνο μετά από επιτυχή έλεγχο. Η επαναφόρτωση απαιτεί τη ρητή επιβεβαίωσή σας και εκτελεί ξανά τον έλεγχο πριν ξεκινήσει. Ένας ενεργοποιημένος συμβολικός σύνδεσμος δεν αντικαθίσταται· επεξεργαστείτε το αντίστοιχο αρχείο στο sites-available.