Настройка поддоменов в Nginx - PullRequest
0 голосов
/ 09 мая 2011

На моем сервере установлено 2 приложения, использующих Nginx:

  1. Приложение Rails
  2. WordPress Blog

Я хочу, чтобы приложение rails былодоступ через: staging.mydomain.com и что блог WordPress будет доступен через: blog.mydomain.com

сайт работает нормально, но когда я пытаюсьзайдя в блог, я получаю экран " Добро пожаловать в nginx ".

вот моя конфигурация nginx:

server {
     listen   80;
     server_name staging.mydomain.com;
     rails_env staging;

     access_log /srv/www/staging/www/logs/access.log;
     error_log /srv/www/staging/www/logs/error.log;

     location / {
          root   /srv/www/staging/www/current/trunk/web/public;
          passenger_enabled on;
          }

   }
   server {
        listen       80;
        server_name  blog.mydomain.com;


        try_files $uri $uri/ /index.php;
        access_log /srv/www/blog.mydomain.com/logs/access.log;
        error_log /srv/www/blog.mydomain.com/logs/error.log;

        location ~ \.php$ {
            root /srv/www/blog.mydomain.com;
            include        fastcgi_params;
            fastcgi_pass   localhost:53217;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

        }
    }

есть мысли о том, что здесь не так?

Ответы [ 3 ]

0 голосов
/ 09 мая 2011

Переместить директиву root /srv/www/blog.mydomain.com; из location {} в server {} блок.

И добавить местоположение для корневого каталога.

location / {
    try_files $uri $uri/ /index.php;
}
0 голосов
/ 09 мая 2011

исправлена!использовал этот пост: http://wiki.nginx.org/Wordpress

0 голосов
/ 09 мая 2011

Возможно, вы захотите изменить server_name для своего блога на blog.mydomain:

server_name  test.mydomain.com;

Я предполагаю, что вы пытаетесь получить доступ к blog.mydomain, но забыли изменить server_name.

Попробуйте использовать директиву index вместо try_files:

index index.php;

Также директива root должна указывать на папку, содержащую ваш файл index.php:

root /srv/www/blog.mydomain.com; # should contain index.php
...