Назад | Перейти на главную страницу

Рекомендуемые методы управления httpd.conf для различных сред

У нас есть несколько разных сред (dekstop для разработчиков, интеграция, QA, prod), которые должны иметь несколько разные варианты одного и того же файла httpd.conf. Например, файл httpd.conf настраивает, что httpd должен действовать как обратный прокси и передавать определенные URL-адреса Jetty, но имя хоста экземпляра Jetty отличается в каждой среде.

Есть ли рекомендованная практика для управления такими различиями? Я просмотрел документацию по apache для файла httpd.conf и не нашел ничего, что делало бы то, что мне нужно.

Разделите уникальные разделы на отдельные файлы, затем используйте Include директивы в главном http.conf для включения других файлов конфигурации. Вы можете, например, обернуть эти Includes в IfDefine разделы, а затем используйте -D опция запуска командной строки для определения переменных для включения или выключения различных разделов конфигурации:

<IfDefine DEVELOPER>  
  Include developer.conf
</IfDefine>

а потом:

apachectl start -D DEVELOPER

Мне кажется более чистым использовать включенные файлы conf, но, конечно, вы также можете поместить всю свою конфигурацию в один файл внутри ifdefs.

Бонусные баллы за автоматизацию всего этого с помощью инструмента управления конфигурацией, такого как cfengine или puppet, конечно.