Nginx:项目根目录的多个Django项目?

时间:2011-12-23 12:39:51

标签: django nginx uwsgi

通常我正在使用切诺基。由于最新的chrome版本存在一些关键问题,我不得不暂时将生产服务器更改为nginx。

目前正试图让我的配置像切诺基一样工作。 我正在使用一个非常简单的uwsgi处理程序:

    location /project1 {
            include uwsgi_params;
            uwsgi_pass localhost:3032;
    }

工作正常,该项目可在myurl.com/project1上找到。 但是django将myurl.com作为项目根目录。

示例我希望它如何工作: 一个子域上的多个项目:/ project1上的project1,/ project2上的project2等。

Django正则表达式规则“^ $”应该适用于每个项目,如:

在Project1中:^ $ - > / project1

在Project2中:^ $ - > / project2等。

有没有办法在nginx中运行?

干杯,

1 个答案:

答案 0 :(得分:1)

nginx没有自动将SCRIPT_NAME设置为切诺基。

您可以使用

强制它

uwsgi_param SCRIPT_NAME / project1;

然后你需要重写PATH_INFO,uWSGI可以自动为你设置

uwsgi_modifier1 30

如此完整的nginx配置:

 location /project1 {

        include uwsgi_params;
        uwsgi_param SCRIPT_NAME /project1;
        uwsgi_modifier1 30;
        uwsgi_pass localhost:3032;
}

另一种方法是在uWSGI中完成整个工作 - 传递--manage-script-name作为选项,并保持nginx配置不变。