NGINX
Если вы используете один из официальных исходных пакетов nginx с http://nginx.org/packages/ , лучший способ - перейти в /etc/nginx/conf.d
каталог и переименовать уязвимый файл с .conf
суффикса в другой отключить сайт:
sudo mv -i /etc/nginx/conf.d/default.conf{,.off}
Или наоборот, чтобы включить его:
sudo mv -i /etc/nginx/conf.d/example.com.conf{.disabled,}
Это потому, что по умолчанию /etc/nginx/nginx.conf
имеет следующую include
директиву:
http {
…
include /etc/nginx/conf.d/*.conf;
}
Debian / Ubuntu
Однако, если вы используете производную Debian / Ubuntu, то в дополнение к conf.d
, вы можете также иметь зло нестандартнымsites-available
и sites-enabled
каталоги, некоторые файлы , при которых могут быть включены неряшливо без учета их расширения:
http {
…
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Таким образом, в Debian / Ubuntu вам, возможно, придется сначала выяснить, где находится конфигурация сайта.
Вы можете использовать следующую команду, чтобы получить список всех доступных сайтов, запустив find(1)
поиск всех обычных файлов, соответствующих заданной маске:
find /etc/nginx -maxdepth 2 -type f \( -path "*/conf.d/*.conf" -or -path "*/sites-*/*" \)
Вы можете использовать следующую команду, чтобы получить список всех включенных сайтов:
find /etc/nginx -maxdepth 2 \( -path "*/conf.d/*.conf" -or -path "*/sites-enabled/*" \)
Затем, чтобы отключить / включить сайты в Debian / Ubuntu:
Чтобы отключить сайт: если конфигурация включена conf.d
, просто переименуйте файл, чтобы больше не иметь .conf
суффикса; или, если в sites-enabled
, переместить его из sites-enabled
.
Чтобы включить сайт, лучше всего переместить его на /etc/nginx/conf.d
и переименовать, чтобы получить .conf
суффикс.
PS Почему я считаю, что Debian include /etc/nginx/sites-enabled/*;
злой? Попробуйте отредактировать пару файлов в этом каталоге и попросите вас emacs
создать файлы резервных копий (с ~
суффиксом), а затем спросите меня снова.