Czy istnieje różnica między telefonowaniem?
systemctl reload nginx
i dzwonienie
nginx -s reload
?
Wiem, że oprócz systemd istnieją inne systemy inicjujące, takie jak SysV i Upstart. Więc może to pytanie dotyczy również ich.
Czy lepiej wydać to polecenie za pośrednictwem systemu init, czy mogę po prostu wywołać sam nginx?
Z góry dziękuję
service
lubinit.d
, jaksudo service nginx reload
Odpowiedzi:
Możesz dowiedzieć się, co
systemd reload nginx
zrobisz, patrząc naExecReload=
opcję w[Service]
sekcjinginx.service
pliku jednostkowego (znajdującą się w/usr/lib/systemd/system/nginx.service
moim systemie):Lub uruchamiając:
W moim systemie otrzymuję:
Od
nginx(8)
:W ten sposób
systemctl reload nginx
inginx -s reload
będzie prawie , zrobić to samo.Różnice są następujące:
systemctl reload nginx
wykona polecenie w czystym środowisku (a nie w bieżącym środowisku użytkownika);systemctl reload
działa dla każdej usługi, która na to pozwala (która została skonfigurowana w pliku jednostkowym). Nie trzeba pamiętać poleceń specyficznych dla usługi. Jest to jeszcze bardziej interesujące, jeśli masz kilka wystąpień usługi.Korzystanie
service
lubinit.d
skrypty są starsze / przestarzałe sposoby robienia tego samego. Chociaż mogą działać, nie są już obsługiwane ani zalecane w systemie opartym na systemie.źródło
Obecnie istnieją różnice w Centos 7 i RHEL 7. Użycie systemctl reload nginx NIE sprawdzi twojej konfiguracji.
Zobacz następujący błąd: https://bugzilla.redhat.com/show_bug.cgi?id=1565377
Radziłbym więc użyć przeładowania nginx-s lub zaktualizować plik jednostki nginx, aby używał następującego polecenia przeładowania:
https://bugzilla.redhat.com/attachment.cgi?id=1419614&action=diff
źródło