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

Поддомены не работают на nginx

Я решил попробовать nginx, но, похоже, я застрял в самом начале. У меня есть сервер под управлением Debian, и я пытаюсь настроить nginx с 1 доменом + 2 поддомена. Когда я получаю доступ к основному домену, он показывает, что он должен делать. Когда я получаю доступ к первому поддомену, он получает доступ к правильной папке, но когда я получаю доступ ко второму поддомену, вместо этого отображается основной домен. Вот что я модифицировал до сих пор:

сайты-доступны (основной домен) работает нормально

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/domain.com/public_html/;
index index.php index.html index.htm index.nginx-debian.html;
server_name www.domain.com domain.com;
location / {
    try_files $uri $uri/ =404;
}
}

сайты-доступные (первый поддомен) работает нормально

server{
listen 80;
listen [::]:80;
root /var/www/sub1.domain.com;
index index.php index.html index.htm index.nginx-debian.html;
server_name sub1.domain.com;
location / {
    try_files $uri $uri/ =404;
}
}

доступные сайты (второй поддомен) перенаправляет на основной домен

server{
listen 80;
listen [::]:80;
root /var/www/sub2.domain.com;
index index.php index.html index.htm index.nginx-debian.html;
server_name sub2.domain.com;
location / {
try_files $uri $uri/ =404;
}
}

Я создал символическую ссылку этих файлов на сайты с поддержкой, а также добавил их в / etc / hosts

Server IP            www.domain.com               domain.com
Server IP            sub1.domain.com
Server IP            sub2.domain.com

Домен и оба поддомена имеют запись A, указывающую на IP-адрес сервера. Я несколько раз перезапускал nginx и сервер, очищал файлы cookie и кеш во всех браузерах, пробовал с разных компьютеров ... Я не вижу, что не так в конфигурации второго поддомена.

Любая помощь будет оценена по достоинству!

ED: вот несколько логов:

ЖУРНАЛ ОШИБОК

2015/11/17 22:41:16 [notice] 10184#0: signal process started
2015/11/17 22:56:46 [notice] 10891#0: signal process started
2015/11/17 23:06:37 [notice] 11332#0: signal process started

Таких в основном полно.

ACCESS.LOG

94.23.253.89 - - [17/Nov/2015:23:13:24 +0100] "GET / HTTP/1.1" 200 18 "-" "curl/7.38.0"
94.23.253.89 - - [17/Nov/2015:23:14:30 +0100] "GET / HTTP/1.1" 200 18 "-" "lwp-request/6.03 libwww-perl/6.08"
94.23.253.89 - - [17/Nov/2015:23:14:48 +0100] "GET / HTTP/1.1" 200 18 "-" "lwp-request/6.03 libwww-perl/6.08"
94.23.253.89 - - [17/Nov/2015:23:15:35 +0100] "GET / HTTP/1.1" 200 18 "-" "lwp-request/6.03 libwww-perl/6.08"
94.23.253.89 - - [17/Nov/2015:23:15:52 +0100] "GET / HTTP/1.1" 200 18 "-" "lwp-request/6.03 libwww-perl/6.08"
94.23.253.89 - - [17/Nov/2015:23:15:58 +0100] "GET / HTTP/1.1" 200 18 "-" "lwp-request/6.03 libwww-perl/6.08"
94.23.253.89 - - [17/Nov/2015:23:16:05 +0100] "GET / HTTP/1.1" 200 18 "-" "lwp-request/6.03 libwww-perl/6.08"
server {
        set $docroot "/var/www/domain.com/public_html/";
        listen 80 default_server;
        server_name www.domain.com domain.com;
        root $docroot;
        try_files $uri $uri/ /index.php?$args;
        index index.php index.html index.htm;
}

server {
        set $docroot "/var/www/sub1domain.com/public_html/";
        listen 80;
        server_name www.sub1.domain.com sub1.domain.com;
        root $docroot;
        try_files $uri $uri/ /index.php?$args;
        index index.php index.html index.htm;
}

server {
        set $docroot "/var/www/sub2.domain.com/public_html/";
        listen 80;
        server_name www.sub2.domain.com sub2.domain.com;
        root $docroot;
        try_files $uri $uri/ /index.php?$args;
        index index.php index.html index.htm;
}

Убедитесь, что на включенных сайтах они являются сим-ссылками на каталог доступных сайтов. Вы можете поместить вышеуказанное в один файл или вы можете поместить каждый в отдельный файл в каталоге сайтов, доступных.

Чтобы проверить свою конфигурацию с помощью nginx, используйте "nginx -t", это покажет вам, правильна ли ваша конфигурация, не влияя на сервер.