Nginx несколько сайтов на одном порту

Привет,

Я хочу запустить два сайта WordPress на одном сервере nginx. Вот мой конфиг:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

    root /var/www/mywebsite1;
    index index.php index.html index.htm;

    server_name mywebsite1.ru www.mywebsite1.ru;

    location / {
    try_files $uri/ /index.php?$args;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /var/www/mywebsite1;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Второй конфиг:
server {
listen 80;
listen [::]:80 ipv6only=on;

    root /var/www/mywebsite2;
    index index.php index.html index.htm;

    server_name mywebsite1.ru www.mywebsite1.ru;

    location / {
        try_files $uri/ /index.php?$args;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /var/www/mywebsite1;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Хотя оба активированы с помощью ln -s, только один из них отвечает. Поэтому, когда я вызываю mywebsite1.ru, он показывает mywebsite1.ru, но когда я вызываю mywebsite2.ru, он также показывает mywebsite1.ru.

1 симпатия

Каждый раз при внесении или добавлении новых изменений конфигурации вам необходимо перезапустить или перезагрузить NGINX.

service nginx restart

В общем, директиву ipv6only = on можно удалить из обоих блоков сервера - по умолчанию она включена :-). Когда вы перезапустите NGINX, он, скорее всего, выйдет из строя, если он будет установлен у обоих.

Помимо этого одного изменения, все остальное выглядит нормально и должно работать должным образом, символическая ссылка не работает и отображается на сайтах с включенной поддержкой.

Вы также можете протестировать конфигурацию, используя:

nginx -t