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
створіть резервні файли (із ~
суфіксом), а потім запитайте мене ще раз.