在 nginx 上设置子域名

在 nginx 上设置子域名

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

  1. Rails 应用程序
  2. WordPress 博客

我希望 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;

        }
    }

有什么想法吗?

答案1

您没有location /为博客服务器配置任何内容,这意味着如果 URL 不以 结尾.php,它将使用 nginx 的默认文档根目录。

相关内容