Развертывание django под под-URL с Nginx/Fastcgi

Я не могу ни за что в жизни выяснить, как развернуть django сайт под некорневым местоположением с Nginx/fastcgi, например, http://localhost:8080/myproject/ вместо http://localhost:8080/; все примеры я видел или принимаю Apache или монтирующийся в корне сайта. Вот соответствующая часть моего nginx.conf:

server {
    listen 8080;
    server_name localhost;

    location /myproject/ {
        # host and port to fastcgi server
        fastcgi_pass 127.0.0.1:3030;

        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;

        #fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_param  PATH_INFO          $fastcgi_script_name;
        fastcgi_param  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;

        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

        fastcgi_param  REMOTE_ADDR        $remote_addr;
        fastcgi_param  REMOTE_PORT        $remote_port;
        fastcgi_param  SERVER_ADDR        $server_addr;
        fastcgi_param  SERVER_PORT        $server_port;
        fastcgi_param  SERVER_NAME        $server_name;
    }
}

И минимальное urls.py:

from django.http import HttpResponse
from django.conf.urls.defaults import patterns

urlpatterns = patterns('',
    (r'^hello$', lambda request: HttpResponse('Hello world!')),

)

Попытка получить доступ к http://localhost:8080/myproject/hello дает 404. Я попробовал неудачно все комбинации:

  • Комментарий/некомментарий fastcgi_param PATH_INFO $fastcgi_script_name;
  • Комментарий/некомментарий fastcgi_param SCRIPT_NAME $fastcgi_script_name;
  • Установка FORCE_SCRIPT_NAME = '/myproject/' в settings.py.

9
задан gsakkis 3 August 2010 в 10:12
поделиться