Вопрос: Многочисленные домены Nginx


Я пытаюсь добавить второй виртуальный хост для nginx. Когда я перехожу в новый домен, он перенаправляется на старый. Я попытался перезапустить Nginx, перезагрузив сервер.

Кто-нибудь сталкивался с этим раньше, поделитесь этим?

Файл: nginx.conf ###

    user www-data www-data;
    worker_processes  4;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        tcp_nopush      on;
        tcp_nodelay     off;
        keepalive_timeout  5;
        gzip  on;
        gzip_comp_level 2;
        gzip_proxied any;
        gzip_types      text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
        include /usr/local/nginx/sites-enabled/*;
    }

Файл: ../sites-enabled/domain1.co.uk

server {
            listen   80;
            server_name  www.domain1.co.uk;
            rewrite ^/(.*) http://domain1.co.uk/$1 permanent;
       }
server {
            listen   80;
            server_name domain1.co.uk;
            access_log /home/me/public_html/domain1.co.uk/log/access.log;
            error_log /home/me/public_html/domain1.co.uk/log/error.log;
            location /  {
                        root   /home/me/public_html/domain1.co.uk/public/;
                        index  index.php index.html;
                        # WordPress supercache &  permalinks.
                        include /usr/local/nginx/conf/wordpress_params.super_cache;
                        }
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            location ~ \.php$
                    {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include /usr/local/nginx/conf/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME /home/me/public_html/domain1.co.uk/public/$fastcgi_script_name;
                        }
       }

Файл: ../sites-enabled/domain2.co.uk

server {
        listen 80;
        server_name  www.domain2.co.uk;
        rewrite ^/(.*) http://domain2.co.uk/$1 permanent;
}
server {

            listen 80;
            server_name domain2.co.uk;

            access_log /home/me/public_html/domain2.co.uk/log/access.log;
            error_log /home/me/public_html/domain2.co.uk/log/error.log;

            location /
            {

                root   /home/me/public_html/domain2.co.uk/public/;
                index  index.php index.html;

                # Basic version of WordPress parameters, supporting nice permalinks.
                # include /usr/local/nginx/conf/wordpress_params.regular;
                # Advanced version of WordPress parameters supporting nice permalinks and WP Super Cache plugin
                include /usr/local/nginx/conf/wordpress_params.super_cache;
            }

            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            location ~ \.php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include /usr/local/nginx/conf/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME /home/me/public_html/domain2/public/$fastcgi_script_name;
            }
      }

5
2018-04-28 02:20


Источник


Определите «перенаправления». Получаете ли вы фактическое перенаправление, где изменяется адрес в строке, или он просто загружает неправильный контент? Проводка вашей конфигурации, удаление чувствительных фрагментов, поможет. - Shane Madden♦
Трудно сказать ничего, не глядя на конфигурацию Nginx - Alexander Azarov
Да, адресная строка действительно меняется. Из домена2.co.uk в домен1.co.uk - showFocus
Ваша опубликованная конфигурация не делает этого. Скорее всего, когда вы удалили информацию о домене, вы исправили фактическую проблему. - Martin Fjordvald
Поэтому я должен дважды проверить имена доменов в своих файлах конфигурации и убедиться, что они верны? - showFocus


Ответы:


Попробуйте удалить дополнительную косую черту из fastcgi_param SCRIPT_FILENAME, поэтому строка будет выглядеть так:

 /home/me/public_html/domain2/public$fastcgi_script_name;

0
2017-11-13 14:16





Я поместил страницу index.php в свой каталог и получил доступ к нему через браузер. Не произошло перенаправления. Поэтому кажется, что nginx не находит то, что ищет, перенаправляет его в другой домен.


-1
2018-04-28 17:42



Вы посмотрели журналы Nginx, чтобы убедиться, что это действительно так происходит? В вашей опубликованной конфигурации нет ничего, чтобы сообщить Nginx о перенаправлении любых запросов. Если он не найдет того, что он ищет, он должен вернуть 404. - pjmorse