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

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

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

1 ответ

Решение

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

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

а потом:

apachectl start -D DEVELOPER

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

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

Другие вопросы по тегам