Как правильно настроить виртуальные хосты на nginx?

Задача в следующем: нужно настроить на локальном компьютере (типа "сервер") несколько сервисов. Причем они должны быть на разных доменах.

В качестве веб сервера стоит nginx. На своем компе прописал в /etc/hosts следующее:
192.168.2.123			cinnamon
192.168.2.123			gitlab
192.168.2.123			redmine


На "сервере" точно такие же записи в /etc/hosts. Конфиги для nginx для первых двух доменов следующие:
server {
  listen 80;
  server_name cinnamon www.cinnamon;
  server_tokens off;
  root /home/webservers/public_html/default;

  access_log  /var/log/nginx/default_access.log;
  error_log   /var/log/nginx/default_error.log;

  location / {
    try_files $uri $uri/index.html $uri.html;
  }
}


server {
  listen 80;
  server_name gitlab www.gitlab;
  server_tokens off;
  root /home/webservers/public_html/default1;

  access_log  /var/log/nginx/default_access.log;
  error_log   /var/log/nginx/default_error.log;

  location / {
    try_files $uri $uri/index.html $uri.html;
  }
}


Проблема: при обращении к cinnamon с моего компа открывается страница для cinnamon. При обращении к gitlab все равно открывается страница для cinnamon. Как будто nginx не различает, как какой именно домен пришел запрос.

Что я сделал неправильно?
  • Вопрос задан
  • 8153 просмотра
Пригласить эксперта
Ответы на вопрос 3
WebSpider
@WebSpider
Может потому что root у обоих одинаковый? root /home/webservers/public_html/default;
Ответ написан
alexclear
@alexclear
A cat
Попробуйте сделать nginx -t и убедиться в том, что конфиг не содержит ошибок, и nginx его действительно применил. Какой у Вас дистрибутив? Секции конфига находятся в одном файле?
Сделайте access_log и error_log на разных сайтах в разные файлы, а не в один и тот же, и посмотрите в логах, к какому именно сайту идут обращения.
Ответ написан
Комментировать
@viento Автор вопроса
спасибо большое всем за ответы. ошибка была простая - забыл активировать конфиги :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы