2013-04-03 5 views
0

Я пытаюсь настроить nginx на проход к серверу gunicorn для запуска проекта Django. К сожалению, я не могу заставить nginx отображать что-либо кроме приветственной страницы, похоже, что бы я ни старался.Nginx - не может пройти страницу приветствия с помощью proxy_pass to gunicorn

  • Пробовал одновременно сайты с поддержкой подход, а также монолитный nginx.conf подход
  • подтвердил, что Nginx на самом деле читает мой nginx.conf - если я ставлю тарабарщину в файле, он не запустится , жалуется на тарабарщину
  • Убран конфигурации «по умолчанию» в сайтах с поддержкой
  • подтвердил, что gunicorn начал успешно

Мой nginx.conf выглядит следующим образом:

user www-data; 
worker_processes 1; 

error_log /var/log/nginx/error.log; 
pid  /var/run/nginx.pid; 

events { 
    worker_connections 1024; 
    # multi_accept on; 
} 

http { 
    #include  /etc/nginx/mime.types; 

    access_log /var/log/nginx/access.log; 

    sendfile  on; 
    #tcp_nopush  on; 

    #keepalive_timeout 0; 
    keepalive_timeout 65; 
    tcp_nodelay  on; 

    gzip on; 
    gzip_disable "MSIE [1-6]\.(?!.*SV1)"; 

    include /etc/nginx/sites-enabled/*; 
} 

И в доступных местах, у меня есть файл «localhost». Затем этот файл символически привязан к сайтам.

server { 
    listen 80 default_server; 
    server_name localhost; 
    access_log /srv/www/menus-dev/logs/access.log; 
    error_log /srv/www/menus-dev/logs/error.log; 
    root /srv/www/menus-dev/http; 

    location/{ 
     proxy_pass http://127.0.0.1:8888; 
    } 

    location /static { 
     root /srv/www/menus-dev/static_files; 
    } 
} 

Любые предложения? Я стучу головой о стену на этом. Все говорит мне, что это должно работать нормально, но я просто не могу заставить его работать.

Это работает на Ubuntu Precise 32-bit Vagrant VM (виртуальный бокс) за то, что стоит.

+1

Если вы нажмете 'http: //127.0.0.1: 8888', вы можете передать страницу приветствия? –

ответ

0

Итак, это было мое собственное дело. Оказывается, на машине, на которой я работал, была установлена ​​некорректированная версия nginx, работающая локально на одном и том же порту (вроде страшно ...), которая, таким образом, отвечала на запрос. Каждый раз, когда я обновлял страницу, она загружалась с локальной хост-машины, а не гостевой машины Vagrant. Пальма, встречайте лицо.

+1

благодарит за идею! –

1

На основании этого article, sendfile директива имеет некоторую проблему с виртуальным боксом. Вы можете отключить его, чтобы убедиться, что это помогает.

Кроме этого, я не вижу проблемы в файле конфигурации nginx. Возможно, проблема с кешированием в браузере или ваше приложение требует определенных заголовков или файлов cookie, которые вам необходимо передать из nginx.

0

для моего случая мой браузер загружал повторную загрузку моих сайтов из кеша. Как только я очистил историю браузера, nginx загрузился с новым файлом конфигурации.