在Nginx上设置子域

时间:2011-05-08 21:37:05

标签: configuration nginx subdomain

我使用Nginx在我的服务器上安装了2个应用程序:

  1. Rails应用程序
  2. wordpress blog
  3. 我希望通过以下方式访问rails应用: staging.mydomain.com 并且可以通过以下方式访问wordpress博客: blog.mydomain.com

    该网站运行正常,但当我尝试访问该博客时,我得到“ welcome to 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 :(得分:0)

您可能希望将博客的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

答案 1 :(得分:0)

将指令root /srv/www/blog.mydomain.com;location {}移至server {}阻止。

添加根目录的位置。

location / {
    try_files $uri $uri/ /index.php;
}

答案 2 :(得分:0)

固定!使用这篇文章:http://wiki.nginx.org/Wordpress