Конфигурация сайта: конфигурация сервера

Продолжим, пожалуй, разговор про конфиги (часть 1, часть 2.1, часть 2.2).

На этот раз отвлечёмся от теории и перейдём к практике. Чтобы нам такое законфигурировать?

Законфигурируем, пожалуй, какую-нибудь конфигурацию :) Допустим, конфигурацию веб-сервера и пусть сервером этим будет Nginx.

Задача более конкретно:

  • Разрабатываем сайт example.ru
  • Я разрабатываю в своей локальной версии — go.example.local, а другой разработчик в своей — hugo.example.local + ещё верстальщик с дизайнером
  • Есть у нас общая локальная версия example.local на локальном сервере.
  • И есть тестовый поддомен test.example.ru, на котором заказчик проверяет последнии фишки, перед тем, как их зальют собственно на example.ru
  • test.example.ru находится в открытом доступе и его следует закрыть хотя бы с помощью htpasswd
  • Все загружаемые изображения лежат на поддомене «img.*», то есть img.example.ru, img.go.example.local и т.д.

Итак, у нас уже 7 версий сайта. Каждая на своём хосте. И для каждого хоста нужно иметь nginx-конфиг. Все конфиги имеют одинаковую структуру, но отличаются частностями.

Что мы будем их 7 раз копипастить и корректировать? А любое изменение в структуре вручную в каждую версию вносить? К чёрту! Давайте всё автоматизируем.
Остальной текст под катом