0

我正在尝试设置 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(虚拟机)上运行的,物有所值。

4

3 回答 3

1

根据这篇文章sendfile指令与 virtualbox 有一些问题。您可以将其关闭以查看是否有帮助。

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

于 2013-04-03T22:43:18.980 回答
0

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

于 2013-04-04T20:36:22.250 回答
0

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

于 2014-08-19T07:43:59.033 回答