Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
don't repeat yourself / copy and paste programming
On 23.11.2011 12:39, Denis F. Latypoff wrote:
И ещё вопрос, вот мне нужно в отдельную директорию (админку) разрешить
доступ только с определённой сетки. Как это сделать, чтобы в
соответствующем location-е не дублировать все proxy* настройки из
location-а, который перехватывает .php?
ну так же - инклудом.
nginx не будет работать быстрее, если в конфиге меньше строк,
что за панический страх перед дублированием конфига?
по поводу copy/paste:
http://en.wikipedia.org/wiki/Don%27t_repeat_yourself
http://en.wikipedia.org/wiki/Copy_and_paste_programming
по поводу include:
не просмотрев все конфиги нельзя понять какие сайты
затронет модификация того или иного фрагмента include-файла,
потому что все include-файлы имеют глобальную область видимости.
как вариант - применить трехуровневую схему:
/etc/nginx/nginx.conf
/etc/nginx/virtual/example.com/example.com.conf
/etc/nginx/virtual/example.com/include-file.inc
в таком случае у каждого сайта будет свой собственный
подкаталог и там будут include-файлы только с локальной
областью видимости, которые можно будет безопасно
модифицировать, точно зная, что это не затронет никакие
другие сайты. но это опять же, конфигурирование nginx
методом copy/paste, потому что в 99% случаев
это будут полностью одинаковые копии файлов.
как избавиться от метода copy/paste в том или ином виде:
1. написать свой собственный генератор конфига nginx из DSL.
2. добавить в nginx возможность создавать "макросы"
с локальной областью видимости, тогда можно будет
конфигурировать nginx по принципу "1 сайт == 1 конфиг"
и вместе с тем, избавиться от индусского метода copy/paste.
3. ......................................................... ?
--
Best regards,
Gena
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|