2012-11-23 16 views
31

Kiedy to jest konieczne, aby ponownie uruchomić Nginx i przeładowanie nie wystarczy?
Czy ma to znaczenie, jeśli zastosowano rozszerzenie takie jak passenger?Kiedy ponownie uruchomić i nie ponownie załadować Nginx?

Jeśli usługa zostanie ponownie uruchomiona, jeśli zużyje zbyt dużo pamięci. Jakieś inne powody ponownego uruchomienia Nginx, szczególnie po zmianie konfiguracji w rozszerzeniu lub konfiguracji podstawowej Nginx?

Po zmianie konfiguracji można ponownie uruchomić lub ponownie załadować plik nginx za pośrednictwem samego binary lub skryptu init.d "/etc/init.d/nginx -h" w systemie Ubuntu. Która metoda powinna być preferowana?

+0

Nie rozumiem twojego ostatniego akapitu. Czy to jest pytanie? – Ztyx

Odpowiedz

34

Ponowne wczytywanie nginx jest bezpieczniejsze niż ponowne uruchomienie, ponieważ zanim stary proces zostanie zakończony, nowy plik konfiguracyjny zostanie przeanalizowany, a cały proces zostanie przerwany, jeśli wystąpią jakiekolwiek problemy z nim.

Z drugiej strony, po ponownym uruchomieniu nginx możesz napotkać sytuację, w której nginx zatrzyma się i nie zacznie ponownie, z powodu błędu składni.

Przeładowanie kończy stary proces, więc wszelkie wycieki pamięci powinny zostać wyczyszczone.

+0

Czy rozszerzenie ngixn, takie jak http://www.modrails.com/documentation/Users%20guide%20Nginx.html, spowoduje jakąkolwiek różnicę? – deepak

+0

Cóż, korzystając z pasażera, zwykle rozsądniej jest zrestartować serwer aplikacji zamiast serwera WWW (w tym przypadku dotykając pliku 'tmp/restart.txt'), ale poza tym powinien działać dokładnie tak samo. – samuil

+1

Co się stanie, jeśli 'nginx -t' przed sprawdzeniem składni? Jaka jest różnica? –

14

jakie miałem przypadek gdzie potrzebne do ponownego uruchomienia nginx mieć listen dyrektywy dla nowego IP adress rzutu w

6

Ztyx ma rację. - ponowne uruchomienie po zmianie dyrektywy słuchać jest wymagane w niektórych przypadkach.

W wersji 1.6.x można przeładować po zmianie adresu IP nasłuchiwania, ale trzeba ponownie uruchomić podczas słuchania z "*: 80" na adres IP "x.x.x.x: 80".

Potwierdziłem to tylko z IPv4, zachowanie dla IPv6 może być podobne.

Powiązane problemy