/ / Jak przeładować nginx config, jeśli działa lub uruchamia się, jeśli jest zatrzymany? - linux, nginx

Jak ponownie załadować konfigurację nginx, jeśli jest uruchomiona lub uruchomić, jeśli jest zatrzymana? - linux, nginx

Okresowo aktualizuję pliki konfiguracyjne nginx iz powodu problemów technicznych czasami może się zdarzyć, że nginx nie działa.

W tym przypadku, jeśli biegnę nginx -s reloadWidzę ten błąd:

nginx: [error] open () „/run/nginx.pid” nie powiodło się (2: brak takiego pliku lub katalogu)

Jak mogę ponownie załadować konfigurację nginx poleceniem z góry, jeśli jest uruchomiona lub uruchomiona, jeśli nie działa bez zobaczenia tego błędu?

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli nie możesz liczyć na to, że nginx jestjuż uruchomiony, należy go ponownie uruchomić. Ale jeśli naprawdę chcesz powyżej, zakładając, że używasz linux / unix i wygląda na to, że możesz stworzyć mały skrypt powłoki. Ponownie, zakładając, że twoja domyślna powłoka jest zgodna z bash lub bash (inne powłoki musiałyby być przeniesionym) możesz zrobić coś takiego:

#!/bin/sh

if [ -f /run/nginx.pid ]; then
/path/to/nginx -s reload
else
/path/to/whatever/command/starts/nginx
fi

Możesz przenieść powyższe na zupełnie nowy poziomza pomocą inotify. Ponownie, zakładając, że używasz dystrybucji Linuksa, możesz zainstalować pakiet inotify-tools dystrybucji systemu operacyjnego i zautomatyzować uruchamianie powyższego pliku skryptu za każdym razem, gdy zmieniają się pliki konfiguracyjne. Zobacz to, aby uzyskać więcej informacji na temat korzystania z inotify:

Jak wykonać polecenie po zmianie pliku