NGINX
Jeśli używasz jednego z oficjalnych pakietów nginx z http://nginx.org/packages/ , najlepszym sposobem jest przejście do /etc/nginx/conf.d
katalogu i zmiana nazwy pliku, którego dotyczy problem, z .conf
przyrostka na inny na wyłącz witrynę:
sudo mv -i /etc/nginx/conf.d/default.conf{,.off}
Lub odwrotnie, aby to włączyć:
sudo mv -i /etc/nginx/conf.d/example.com.conf{.disabled,}
Jest tak, ponieważ domyślnie /etc/nginx/nginx.conf
ma następującą include
dyrektywę:
http {
…
include /etc/nginx/conf.d/*.conf;
}
Debian / Ubuntu
Jednakże, jeśli używasz pochodnej Debian / Ubuntu, to oprócz tego conf.d
możesz mieć złe niestandardowesites-available
i sites-enabled
katalogi, niektóre pliki, pod którymi można niechętnie zawierać, bez względu na ich rozszerzenie:
http {
…
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
W związku z tym w Debian / Ubuntu może być najpierw konieczne ustalenie, gdzie znajduje się konfiguracja witryny.
Możesz użyć następującego polecenia, aby uzyskać listę wszystkich dostępnych witryn, uruchamiając się, find(1)
aby znaleźć wszystkie zwykłe pliki pasujące do danej maski:
find /etc/nginx -maxdepth 2 -type f \( -path "*/conf.d/*.conf" -or -path "*/sites-*/*" \)
Możesz użyć następującego polecenia, aby uzyskać listę wszystkich włączonych witryn:
find /etc/nginx -maxdepth 2 \( -path "*/conf.d/*.conf" -or -path "*/sites-enabled/*" \)
Następnie, aby wyłączyć / włączyć witryny w Debian / Ubuntu:
Aby wyłączyć witrynę: jeśli konfiguracja jest włączona conf.d
, po prostu zmień nazwę pliku, aby nie mieć już .conf
przyrostka; lub jeśli jest sites-enabled
, usuń go sites-enabled
.
Aby włączyć witrynę, najlepszym sposobem jest przeniesienie jej do witryny /etc/nginx/conf.d
i zmiana nazwy na .conf
przyrostek.
PS Dlaczego myślę, że Debian include /etc/nginx/sites-enabled/*;
jest zły? Spróbuj edytować kilka plików w tym katalogu i poproś emacs
o utworzenie plików kopii zapasowej (z ~
przyrostkiem), a następnie zapytaj mnie ponownie.