1. Grigory Fateyev

    17.02.2009

    0 ↑
    0 ↓
    Здравствуйте!

    Проект на django крутиться под nginx+flup. Странные глюки вылезли при переносе с dev сервера. Не могу зайти в админку, при нажатии на вход пербрасывает на http://admin/ и не подсвечивается пункты меню через context.
    def common_context(request):
    url = request.path.split('/')
    if request.path == '/':
    menu = '/'
    else:
    menu = '/' + url[1] + '/'
    return {
    'menu': menu,
    }
    Настройки:
    #/etc/nginx/fastcgi_params

    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 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;

    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;

    # PHP only, required if PHP was built with --enable-force-cgi-redirect
    fastcgi_param REDIRECT_STATUS 200;

    # /etc/nginx/nginx.conf

    ...
    server {

    access_log /var/www/furniture/log/access_log main;
    error_log /var/www/furniture/log/error_log warn;

    # Main location
    location / {
    fastcgi_pass 127.0.0.1:8003;
    include "/etc/nginx/fastcgi_params";
    fastcgi_param PATH_INFO $fastcgi_script_name;
    }
    location ^~ /media {
    root /var/www/furniture/www;
    #autoindex on;
    access_log off;
    }
    location /media-admin {
    alias /home/greg/django_src/django/contrib/admin/media;
    #autoindex on;
    access_log off;
    }
    }

    # project/settings.py

    FORCE_SCRIPT_NAME = "/"
  2. http://furniture.anastasia.ru/admin/

    Открывает форму админского логина.

  3. Grigory Fateyev

    17.02.2009

    0 ↑
    0 ↓
    Александр, форму то открывает, а попробуйте "Вход" нажать?
  4. Grigory Fateyev

    17.02.2009

    0 ↑
    0 ↓
    Спасибо, проблему решил...
  5. Поделитесь, в чем была проблема?

  6. Grigory Fateyev

    17.02.2009

    0 ↑
    0 ↓
    fastcgi_param PATH_INFO $fastcgi_script_name;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_pass_header Authorization;
    fastcgi_intercept_errors off;

    fastcgi_param GATEWAY_INTERFACE CGI/1.1;
    fastcgi_param SERVER_SOFTWARE nginx;

    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;

    # PHP only, required if PHP was built with --enable-force-cgi-redirect
    fastcgi_param REDIRECT_STATUS 200;
    Вот этого достаточно и FORCE_SCRIPT_NAME отключил.
  7. Grigory Fateyev

    17.02.2009

    0 ↑
    0 ↓
    И этот параметр необходим
    fastcgi_param  SERVER_PROTOCOL    $server_protocol;
    иначе ошибка вылазила:
    [error] 3143#0: *1130 FastCGI sent in stderr: "WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!" while reading upstream, client:

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.