use
Gena Makhomed
gmm на csdoc.com
Ср Июл 6 20:50:37 MSD 2011
On 06.07.2011 13:31, Роман Москвитин wrote:
>> для того, чтобы видеть полный конфиг - надо будет постоянно
>> переключаться между несколькими конфигурационными файлами,
>> например, при просмотре через F3 в mc - это надо часто
>> открывать/закрывать несколько файлов, чтобы понять
>> логику работы nginx. или использовать screen
>> с той же целью. таким образом директива include
>> ухудшает читаемость конфига и легкость восприятия.
> Ммм... У вас на сервере ограничение на число входов в шелл?
У меня несколько иного плана проблема - в сутках всего 24 часа.
Поэтому совсем не хочется тратить много времени неэффективно.
>> расширить конфиг nginx встроенным
>> средством для подстановки блоков
> Окей! Файл на сто хостов. С выкрутасами. Строк 500 будет? Запросто!
> И где мы этот блок прописывать будем? С Вашей же логикой - чтим, видим блок,
> пытаемся вспомнить что там, не получается, скроллим вверх-вниз-вбок, радостно
> понимаем что тут все хорошо и... Судорожно ищем где же мы были до этого.
> Либо те же самые screen/второй шелл/whatever...
Средствами vim в одном файле навигация будет происходить гораздо быстрее
см. документацию по текстовому редактору http://vimdoc.sourceforge.net/
>> фрагменты конфига включаемые через include - это примено
>> то же самое, что и глобальные переменные в программе,
>> нельзя понять где именно используется этот файл
>> не просмотрев полностью весь конфиг nginx.
> А чем в этом блок отличается?
областью видимости.
у включаемого через include файла - глобальная область видимости,
как у глобальной переменной, у фрагмента конфига, заданного в block -
локальная область видимости, только от точки объявления и до конца файла
если в nginx.conf будет директива
include /etc/nginx/conf/virtual/*.conf;
и дальше в каталоге /etc/nginx/conf/virtual/
будет по одному конфигурационному файлу на каждый сайт,
например,
example.com.conf
example.net.conf
example.org.conf
то любой блок, который определен внутри этого
локального конфигурационного файла будет иметь
область видимости только до конца файла.
> Ограничение видимости рубит профит
> в использовании инициализатора того же fcgi - пишем в каждый хост одно и то же.
смысл этого фрагмента текста я не смог понять.
> А еще найдется толпа сами знаете кого, которые будут вписывать инклуды в блоки.
если это создает какие-то проблемы, - можно на уровне парсера конфига
запретить указывать директиву include внутри фрагмента block { ... }.
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru