首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nginx配置之client_max_body_size和client_body_buffer_size

client_max_body_size client_max_body_size 默认 1M,表示 客户端请求服务器最大允许大小,在“Content-Length”请求头中指定。如果请求的正文数据大于client_max_body_size,HTTP协议会报错 413 Request Entity Too Large。就是说如果请求的正文大于client_max_body_size,一定是失败的。如果需要上传大文件,一定要修改该值。 client_body_buffer_size Nginx分配给请求数据的Buffer大小,如果请求的数据小于client_body_buffer_size直接将数据先在内存中存储。如果请求的值大于client_body_buffer_size小于client_max_body_size,就会将数据先存储到临时文件中,在哪个临时文件中呢? client_body_temp 指定的路径中,默认该路径值是/tmp/. 所以配置的client_body_temp地址,一定让执行的Nginx的用户组有读写权限。否则,当传输的数据大于client_body_buffer_size,写进临时文件失败会报错。 这个问题我们遇到过。

02
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Nginx服务器常见错误和解决办法

    Nginx服务器错误一般有以下8个原因,每一种原因下方,分别给出了解决的方法,如下: 1、请求的header过大。nginx默认的header长度上限是4k,如果超过了这个值,nginx会直接返回400错误。 解决方法:配置nginx.conf相关设置。可以通过以下2个参数来调整header上限:client_header_buffer_size 16k;large_client_header_buffers 4 16k。 2、上传文件过程中出现错误。这时浏览器显示“413 Request Entity Too Large”。这是因为没有设置client_max_body_size,这个参数默认只是1M,也就是说发布的文章内容大小不能超过1M。 解决方法:增加如下两行到nginx.conf的http{}段, 增大nginx上传文件大小限制:设置允许发布内容为8M:client_max_body_size 8M;client_body_buffer_size 128k。 另外如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误:post_max_size = 8M;upload_max_filesize = 6M。 修改完配置后,别忘记重新加载。 3、客户端在为等到服务器相应返回前就关闭了客户端描述符。一般出现在客户端设置超时后,服务器主动关闭。 解决方法:根据实际Nginx后端服务器的处理时间修改客户端超时时间。 4、脚本错误(php语法错误、lua语法错误)。 解决方法:查看nginx_err_log php_err_log。 5、访问量过大,系统资源限制,不能打开过多文件。 磁盘空间不足。(access log开启可能导致磁盘满溢,服务器主动关闭)。 解决方法:修改/etc/sysctl.conf文件,并使用下面的命令确认: #sysctl -p。要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。 6、后端服务无法处理,业务中断。 解决方法:从后端日志获取错误原因,解决后端服务器问题。 7、后端服务器在超时时间内,未响应Nginx代理请求。 解决方法:根据后端服务器实际处理情况,调正后端请求超时时间。 8、网站页面缓存过大。 解决方法:配置nginx.conf相关设置:fastcgi_buffers 8 128k;send_timeout 60。

    01

    配置nginx.conf实现负载均衡

    http   {            include       mime.types;            default_type  application/octet-stream;                 server_names_hash_bucket_size 128;            client_header_buffer_size 32k;            large_client_header_buffers 4 32k;            client_max_body_size 8m;            sendfile on;            keepalive_timeout 60;            gzip on;  #负载均衡 upstream tomcat_proxy{           server localhost:8080 max_fails=3 weight=1 fail_timeout=60s;           server localhost:9080 max_fails=3 weight=1 fail_timeout=60s;         } server   {          listen       80;          server_name  www.abc.com;                     index index.jsp index.php index.do index.jsp;          access_log  logs/www.abc.com_access_nginx.log;          error_log logs/www.abc.com_error.log;          root  /var/www/nginx;    #nginx默认根目录     location ~ \.(php|php5)$ {        #支持php             fastcgi_pass  unix:/var/run/php-fpm.sock;    #php-fpm.sock模块             fastcgi_index index.php;             fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;             include fastcgi_params;             include fastcgi.conf;             }     location ~ \.(jsp|do)$ {        #jsp,do等页面交由tomcat处理             proxy_pass tomcat_proxy;             proxy_set_header HOST $host;             proxy_set_header X-Real-IP $remote_addr;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;             }     location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {             expires      30d;             } }

    02
    领券