在我们使用Nginx作为代理服务器的时候,在进行文件上传时,大于10k的文件上传失败,因为此时后台服务并没有接收到请求,所以在Nginx配置中进行排错,终于找到了问题所在。
1、修改Nginx的.conf配置文件
client_body_buffer_size 8m; # 分配给请求数据的buffer大小
client_body_temp /var/lib/nginx/body; # 指定的临时路径
client_max_body_size 100m; # 默认1M,表示客户端请求服务器最大允许大小
2、修改临时路径权限
cd /var/lib/nginx #.conf中配置的client_body_temp路径
chmod 777 body
3、备注
- 数据大于client_max_body_size,一定是失败的。
- 小于client_body_buffer_size直接在内存中高效存储。
- 如果大于client_body_buffer_size小于client_max_body_size会存储临时文件,所以临时文件路径一定要要配置权限。
- 如果追求效率,就设置client_max_body_size和client_body_buffer_size相同的值,并且很大,这样就直接上传了。