don't repeat yourself / copy and paste programming

Gena Makhomed gmm на csdoc.com
Ср Ноя 23 13:02:27 UTC 2011


On 23.11.2011 14:12, Denis F. Latypoff wrote:

>>> конфиг nginx'а это не язык программирования,
>>> и это надо донести всякому, к чему всех призываю.

>> хм. а в чем между ними принципиальная разница?
>> конфиг nginx'а программирует работу /sbin/nginx
>> и его реакцию на внешние события (запросы клиентов)

прежде чем что-то кому-то начинать доносить, объясните
пожалуйста, - в чем между ними принципиальная разница?

>>> Игорь где-то тут в рассылке неоднократно высказывался на
>>> тему 250 локейшенов рамблера, которые можно хоть как крутить
>>> и это не затронет работу остальных 249 локейшенов.

>> Игорь говорил про один сайт. с большим количеством локейшенов.
>> там действительно удобно будет общие фрагменты конфига вынести
>> во внешние файлы и подключать их в нужных местах через include.

>> некоторые проблемы начинаются если в конфиге nginx будет
>> не один большой сайт, а несколько десятков/сотен/тысяч/...
>> именно об этом случае я подробно написал в предыдущем сообщении.

> Хватит на все смотреть через призму шаред хостинга,
> они сами разберутся как им конфиг запилить.

я вот как раз и пытаюсь разобраться как мне лучше "запилить" конфиги.
для увеличения безопасности и надежности поставил на новый сервер
OpenVZ, но с конфигами nginx`а проще от этого не стало, наоборот,
их число только выросло в два раза по сравнению с количеством сайтов.

> Большинство же вопрошающих имеет один-два сайта,
 > и nginx надо затачивать под него, а не под мифические
 > 100500 сайтов, которые возможно когда-то появятся.

даже при 50-100 сайтов неудобно делать много include на каждый сайт,
гораздо удобнее все-таки подход "1 сайт == 1 конфигурационный файл".

но в этом случае получается много copy/paste и нарушение принципа
don't repeat yourself, что приводит к снижению скорости работы
администратора по сопровождению такого дублированного конфига.

P.S. наверное надо будет разбираться с cfengine или писать
      генератор конфигов nginx из DSL более высокого уровня.

-- 
Best regards,
  Gena



Подробная информация о списке рассылки nginx-ru