nginx如何处理大文件

我们在加载一个大约300KB大小的pdf文件时遇到了问题。 pdf由nginx提供。 每当我加载文件,它显示一个错误,说Failed to open pdf document ,但坠毁文件的大小只有32KB。 我已经仔细检查了两端的大小。

当我检查clicked_site(client_max_body_size) ,我已经将以下configuration添加到nginx.conf:

 http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 200M; client_body_buffer_size 50M; client_header_buffer_size 300K; large_client_header_buffers 2 1k; proxy_buffer_size 40k; proxy_buffers 4 32k; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; ........ ........ } 

网站启用/默认:

  server { server_name www.domain.com; #root html; location /static/admin/ { alias /usr/local/lib/python2.7/dist-packages/django/contrib/admin/media/; } location / { # host and port to fastcgi server fastcgi_pass 127.0.0.1:8090; 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 /site_media/ { alias /intcen_media/; #root /flat; autoindex on; } } 

在网站媒体我有文件目录包含PDF和SWF文件。

有没有人看到我的configuration会导致这个问题的错误?

使用curl或其他工具来检查标题,以确保您为PDF文件指定了正确的MIMEtypes。 你应该把mime.types拉进你的configuration。

如果你这样做,那么我会放弃client_ *和相关的缓冲区。 我有nginx没有这些工作,并提供PDF / SWF没有问题。