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

Как разместить и управлять тысячами сайтов с низким трафиком на одном сервере nginx

Наша компания создала простое приложение CMS, которое планирует продавать тысячам небольших компаний. Прямо сейчас наше приложение CMS выводит html-файлы в предварительно настроенный каталог в структуре каталогов, например:

root:
    /foo.com
    /bar.com
    /.......

Управление этими веб-сайтами с помощью виртуальных хостов нецелесообразно. Сейчас мы используем простой модуль стойки, который находит нужные файлы на основе HTTP_HOST и возвращает соответствующий html, считывая файл с жесткого диска. Очевидно, это не оптимальное решение.

Что бы вы сделали, чтобы решить эту проблему?

вы можете сгенерировать небольшой файл конфигурации для каждого каталога (виртуального хоста), который у вас есть, если вам нужно обрабатывать их по-разному или если вы хотите сэкономить усилия, используйте следующее:

server {
  server_name   ~^(www\.)?(?<domain>.+)$;
  location / {
    root  /sites/$domain;
  }
}

Это сопоставляет домен запроса с каталогом.