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

Два поддомена Nginx с разными корневыми папками, но оба собираются в одно и то же?

Я пытаюсь понять, почему субдомен, который я только что создал в Nginx, не использует корневую папку, указанную в его файле конфигурации. Ниже приведен файл конфигурации для поддомена zeta.

server {
    listen   80; 

    root /var/www/zeta;
    server_name  zeto.mydomain.com;
    error_log  /var/log/nginx/subdomains_error.log;
    error_page 404 /404.html;
    if ($subdomain = ""){
        set $subdomain something;
        rewrite /.* /not_found;
    }
    location / {
        index index.php index.html index.htm;
        access_log  /var/log/nginx/subdomains_access.log;
        location / {
            include        fastcgi_params;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root/index.php;
            access_log  /var/log/nginx/subdomains_php_access.log;

        }
        location /public {
        }
        location ~ \.(js|ico|gif|jpg|png|css)$ {
        }
        location /not_found {
        }
        location /404.html {
            internal;
        }
    }

}

У меня есть другой файл домена, который настроен на поддомен с подстановочными знаками и другую корневую папку, см. Ниже, это единственная разница

root /var/www/account;
server_name  *.mydomain.com;

Есть текстовый файл в /etc/nginx называются поддоменами. Файл perl читает список поддоменов и, если он существует, загружает страницу, в противном случае выдает ошибку. Я знаю, что мой файл поддомена с подстановочными знаками принимает дзета, поскольку он находится в текстовом файле поддоменов. Он настроен так, потому что сервер - это приложение, и когда посетители регистрируются, мы добавляем выбранный ими поддомен в файл и перезагружаем Nginx, не затрагивая пользователей, уже находящихся на сайте.

Какие изменения я могу внести в zeta-файл, чтобы он использовал /var/www/zeta в качестве корневой папки, а не корневой папки в файле конфигурации с подстановочными знаками?

Спасибо

Если это копия вашей конфигурации nginx, ваша проблема здесь опечатка:

server_name  zeto.mydomain.com;

... предположительно следует читать zeta.