Nginx - 使用proxy_pass到gunicorn无法通过欢迎页面

时间:2013-04-03 20:33:40

标签: nginx gunicorn

我正在尝试将nginx设置为传递给gunicorn后端以运行Django项目。不幸的是,我似乎无法让nginx显示欢迎页面以外的任何内容,似乎无论我尝试什么。

  • 尝试了一个支持网站的方法以及一个单一的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位Vagrant VM(虚拟盒)上运行的,值得它。

3 个答案:

答案 0 :(得分:1)

基于此articlesendfile指令与virtualbox存在一些问题。您可以关闭它以查看它是否有帮助。

除此之外,我没有看到nginx配置文件的问题。也许浏览器中存在一些缓存问题,或者您的应用程序需要一些您需要从nginx传递的特定标头或cookie。

答案 1 :(得分:0)

所以,这是我自己做的。原来我运行的机器有一个未配置的nginx版本在同一个端口本地运行(有点吓人......),因此回答了请求。每次刷新页面时,都是从本地主机加载,而不是Vagrant来宾机。棕榈,见面。

答案 2 :(得分:0)

对于我的情况我的浏览器正在加载从缓存中重复加载我的网站。一旦我清除了浏览器历史记录,nginx就会加载新的配置文件。