Przeładowanie zamiast ponownego uruchomienia
Przeładowanie nakazuje NGINX ponownie odczytać konfigurację. Uruchamia nowe procesy robocze i pozwala starym dokończyć obsługę otwartych żądań, więc odwiedzający zwykle niczego nie zauważają. Jeśli nowej konfiguracji nie można zastosować, NGINX nadal działa ze starą. Ponowne uruchomienie najpierw zatrzymuje usługę, przez co przerywa połączenia, a przy błędnej konfiguracji usługa może nie uruchomić się ponownie.
Utwórz kopię zapasową zmienianego pliku
Przed edycją utwórz kopię obok pliku, umieszczając datę w jej nazwie. Nie zostawiaj kopii w katalogu, który NGINX wczytuje za pomocą wzorca z symbolami wieloznacznymi, takiego jak conf.d/*.conf lub sites-enabled/*, ponieważ wczyta również te kopie. Na Debianie i Ubuntu edytuj plik w sites-available; wpis w sites-enabled jest zwykle tylko dowiązaniem do niego.
sudo cp -a /etc/nginx/sites-available/example.conf /root/example.conf.$(date +%Y%m%d-%H%M%S)Najpierw sprawdź, potem przeładuj
nginx -t sprawdza składnię i pliki, do których odwołuje się konfiguracja, na przykład certyfikaty. Użyj nginx -T, aby zobaczyć pełną konfigurację po dołączeniu innych plików. Przeładuj ją tylko po pomyślnym teście; połączenie poleceń za pomocą && zapewnia właśnie takie działanie. Test nie potrafi stwierdzić, czy konfiguracja działa zgodnie z zamiarem, dlatego potem otwórz witrynę.
sudo nginx -t && sudo systemctl reload nginx
sudo nginx -T | less
curl -I https://example.com/Gdy coś pójdzie nie tak
Przywróć kopię zapasową, ponownie wykonaj test i przeładuj konfigurację. Jeśli usługa się zatrzymała, dziennik błędów i dziennik systemowy wskażą przyczynę. Szukaj komunikatów o już zajętym porcie, brakującym certyfikacie lub powielonej nazwie serwera.
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.logCzego przeładowanie nie obejmuje
Długotrwałe połączenia, takie jak WebSockets, pozostają przy starych procesach roboczych aż do zakończenia, więc stare procesy mogą jeszcze przez pewien czas działać i zużywać dodatkową pamięć. Aktualizacja pakietu może samoczynnie uruchomić usługę ponownie. Większe zmiany przetestuj najpierw na serwerze testowym, uwzględniając certyfikaty i przekierowania.
NGINX Manager w CH-J Server Manager
NGINX Manager edytuje pliki konfiguracyjne w zarządzanych katalogach NGINX na serwerach Linux, do 512 KiB na plik. Podczas zapisywania aplikacja tworzy kopię zapasową z przyrostkiem .chj-backup-, uruchamia nginx -t i zachowuje zmianę tylko po pomyślnym teście. Przeładowanie wymaga Twojego wyraźnego potwierdzenia i przed rozpoczęciem ponownie wykonuje test. Włączone dowiązanie symboliczne nie jest zastępowane; edytuj odpowiadający mu plik w sites-available.