当前位置:  开发笔记 > 编程语言 > 正文

Nginx + fastcgi截断问题

如何解决《Nginx+fastcgi截断问题》经验,为你挑选了2个好方法。

我使用fastcgi接口运行一个Django站点到nginx.但是,某些页面正在被截断(即页面源只是停止,有时在标记的中间).我该如何解决这个问题(让我知道需要哪些额外信息,我会发布)

细节:

我正在使用flup,并使用以下命令生成fastcgi服务器:

python ./manage.py runfcgi umask=000 maxchildren=5 maxspare=1 minspare=0 method=prefork socket=/path/to/runfiles/django.sock pidfile=/path/to/runfiles/django.pid

nginx配置如下:

# search and replace this: {project_location}
pid /path/to/runfiles/nginx.pid;
worker_processes  2;
error_log /path/to/runfiles/error_log;
events {
    worker_connections  1024;
    use epoll;
}
http {
    # default nginx location
    include        /etc/nginx/mime.types;
    default_type    application/octet-stream;
    log_format main
        '$remote_addr - $remote_user [$time_local] '
            '"$request" $status $bytes_sent '
        '"$http_referer" "$http_user_agent" '
        '"$gzip_ratio"';
    client_header_timeout  3m;
    client_body_timeout    3m;
    send_timeout           3m;
    connection_pool_size        256;
    client_header_buffer_size    1k;
    large_client_header_buffers    4 2k;
    request_pool_size        4k;
    output_buffers   4 32k;
    postpone_output  1460;
    sendfile        on;
    tcp_nopush             on;
    keepalive_timeout      75 20;
    tcp_nodelay            on;
    client_max_body_size       10m;
    client_body_buffer_size    256k;
    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout         90;
    client_body_temp_path      /path/to/runfiles/client_body_temp;
    proxy_temp_path            /path/to/runfiles/proxy_temp;
    fastcgi_temp_path            /path/to/runfiles/fastcgi_temp;
    gzip on;
    gzip_min_length  1100;
    gzip_buffers     4 32k;
    gzip_types       text/plain text/html application/x-javascript text/xml text/css;
    ignore_invalid_headers    on;
    server {
        listen 80;
        server_name alpha2.sonyalabs.com;
        index index.html;
        root   /path/to/django-root/static;
        # static resources
        location ~* ^/static/.*$
        {
        root   /path/to/django-root;
                expires 30d;
                break;
        }
        location / {
            # host and port to fastcgi server
            fastcgi_pass unix:/path/to/runfiles/django.sock;
            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;
        }
        location /403.html {
                root   /usr/local/nginx;
                access_log   off;
        }
        location /401.html {
                root   /usr/local/nginx;
                access_log   off;
        }
        location /404.html {
                root   /usr/local/nginx;
                access_log   off;
        }
        location = /_.gif {
                    empty_gif;
                access_log   off;
        }
            access_log    /path/to/runfiles/localhost.access_log main;
            error_log    /path/to/runfiles/localhost.error_log;
        }
}

Falken.. 7

我在nginx上运行Nagios时遇到了同样的问题.我在谷歌上搜索答案时偶然发现了你的问题,并且阅读了"许可被拒绝"的相关答案,这让我感到震惊(也许它会帮助你):

Nginx error.log正在报告:

2011/03/07 11:36:02 [暴击] 30977#0:*225952 open()"/ var/lib/nginx/fastcgi/2/65/0000002652"失败(13:权限被拒绝)

所以我只跑#chown -R www-data:www-data/var/lib/nginx/fastcgi

固定!(谢谢你的间接帮助)


dwc.. 5

检查错误日志以查找写入.../nginx/tmp/...文件的"权限被拒绝"错误.除非需要临时空间,否则Nginx将正常工作,并且通常发生在32K边界.如果发现这些错误,请确保用户nginx运行的tmp目录是可写的.



1> Falken..:

我在nginx上运行Nagios时遇到了同样的问题.我在谷歌上搜索答案时偶然发现了你的问题,并且阅读了"许可被拒绝"的相关答案,这让我感到震惊(也许它会帮助你):

Nginx error.log正在报告:

2011/03/07 11:36:02 [暴击] 30977#0:*225952 open()"/ var/lib/nginx/fastcgi/2/65/0000002652"失败(13:权限被拒绝)

所以我只跑#chown -R www-data:www-data/var/lib/nginx/fastcgi

固定!(谢谢你的间接帮助)



2> dwc..:

检查错误日志以查找写入.../nginx/tmp/...文件的"权限被拒绝"错误.除非需要临时空间,否则Nginx将正常工作,并且通常发生在32K边界.如果发现这些错误,请确保用户nginx运行的tmp目录是可写的.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有