子目录中的 Django 和 Wordpress 的 NGinX 配置

子目录中的 Django 和 Wordpress 的 NGinX 配置

我需要在域的根目录下设置一个 Django 站点,然后在子目录中安装 Wordpress(例如 /blog/)。如何配置 NGinX 来实现这一点?“漂亮”URL 也必须适用于 Wordpress。

对于 Django,我使用的是已经配置好的 Gunicorn。从 NGinX,我将调用“proxy_pass”来指向它。PHP 通过 FPM 运行。

考虑到上述限制,我该如何配置 NGinX?如能得到任何帮助我将不胜感激!

谢谢。

更新:我尝试了几种方法,目前部分方法可行。我删除了所有 Django 配置。然后我在 /blog/ 子目录中找到了 Wordpress。在其中,我有 test.php,它只调用 phpinfo(),然后还有 test.html,它显示纯 html。调用 test.php 时,页面会加载。但是,当我调用 test.html 或 index.php(Wordpress 索引页)时,它会给我一个 404。

我的 nGinx 配置:

server {
        listen   80;

        root /path/to/www/root;

        server_name domain.com;

        access_log /path/to/logs/access.log;
        error_log /path/to/logs/error.log;

        location / {
                index index.php;
        }

        location /blog {
                alias /path/to/www/blog;
                try_files $uri =404;
                index index.php index.html;
        }

        location ~ /blog/.+\.php$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /path/to/www/blog$fastcgi_script_name;
        }

        location ~ /\.ht {
                deny all;
        }
}

答案1

像这样吗?

location  /i/ 
{  alias  /spool/w3/images/;
}

http://wiki.nginx.org/HttpCoreModule#alias

答案2

您设置location /blog/并使用所有常用的 nginx 指令来传递给 PHP。

相关内容