Как правильно настроить cубдомен в nginx?

Добрый день,
Наконец то я решился перейти со старого и доброго Apache на новый и прогрессивный nginx.
Настроил в связке php-fpm, поставил все нужные модули, и вроди мне даже все показалось прозрачнее и проще чем с Apache, на default конфиге погонял пару скриптов и остался доволен результатом.

И вот наступил черед конфигурации хостов и тут я столкнулся с проблемой:

есть www.site1.com и есть субдомен subdomain.site1.com

В sites-enebled 2 конфига, для www.site1.com:

server {
        listen   80;
        root /usr/share/nginx/www/site1;
        index index.php index.html index.htm;
        server_name site1.com *.site1.com www.site1.com;
        location / {
                try_files $uri $uri/ /index.php?q=$uri&$args;
        }
        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www/site1.;
        }
        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;

                 }
}


для subdomain.site1.com

server {
        listen   80;
        root /usr/share/nginx/www/subdomain.site1;
        index index.php index.html index.htm;
        server_name subdomain.site1.com;
        location / {
                try_files $uri $uri/ /index.php?q=$uri&$args;
        }
        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www/subdomain.site1;
        }
        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
                 }
}


При такой конфигурации при переходе на site1.com мне выдается содержимое папки subdomain.site1.com

Где я делаю ошибку,

Спасибо за ответы.
  • Вопрос задан
  • 5728 просмотров
Пригласить эксперта
Ответы на вопрос 2
Kinozol
@Kinozol
Тёплый LAMPовый вебдев :)
Ваш конфиг должен работать, но исправьте ошибку, есть лишняя точка в конце пути.

root /usr/share/nginx/www/site1.;
Ответ написан
Конфиг nginx выглядит вполне себе приемлемо, для исключения коллизий можно все запихать в один виртуалхост и сервер с поддоменом поставить перед сервером с доменом.

Может, дело в php-fpm ? Я вижу, что вы отправляете все на один сокет php-fpm. Попробуйте разнести пул домена и поддомена по разным конфигам php-fpm, указав при этом разные сокеты.
Ответ написан
Ваш ответ на вопрос

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

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