【问题标题】:Setting sub-domains on Nginx在 Nginx 上设置子域
【发布时间】:2011-08-21 07:03:43
【问题描述】:

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

  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;

        }
    }

有没有想过这里出了什么问题?

【问题讨论】:

    标签: configuration nginx subdomain


    【解决方案1】:

    已修复!使用了这个帖子:http://wiki.nginx.org/Wordpress

    【讨论】:

    • 能否请您更新一下您如何解决问题的答案?
    【解决方案2】:

    将指令 root /srv/www/blog.mydomain.com;location {} 移动到 server {} 块。

    并添加根目录的位置。

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 更改“索引”后,我得到“404 Not Found”
      • 那么您在 /srv/www/blog.mydomain.com/index.php 中没有 index.php。它在子目录中吗?调整你的 root 指令。
      • nop,我可以在 /srv/www/blog.mydomain.com/index.php 中看到索引文件,我需要在根目录中更改一些内容吗?
      • 您需要更改root 指令以指向您的index.php 文件所在的目录。
      • 所以它指向正确的地方,因为索引文件位于:/srv/www/blog.mydomain.com/index.php
      猜你喜欢
      • 2010-11-13
      • 2012-09-19
      • 1970-01-01
      • 2019-02-27
      • 1970-01-01
      • 2016-08-23
      • 2021-03-02
      • 2017-03-31
      • 2013-12-03
      相关资源
      最近更新 更多