欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

centos 下nginx服务器,上传文件失败

程序员文章站 2022-05-15 19:59:15
...
操作系统:CentOS/Linux (内核版本:3.10.0-229.7.2.el7.x86_64)
服务器:nginx/1.9.2
PHP版本:5.6.9
现象:从浏览器上传文件失败,通过firebug查看post数据,提示post数据过大。
原因:文件上传和cookie大小相关配置没配置好。
尝试过程:已经把nginx和php相关配置项配好,但是仍然出现上述现象。中间有过成功的样例,但忘了把配置文件备份~直接就修改测试~结果忘了正确的配置。
时间:两天,净时间每天八个小时左右~
补充:每次上传的文件大小不超过2M。文件夹相关配置也无误,都是777权限。实在没有办法了~
http {
    include       mime.types;
    default_type  application/octet-stream;
    
    client_body_buffer_size 20M;
    client_max_body_size 900m; #设置允许客户端请求的最大的单个文件字节数
    client_header_buffer_size 20m; #指定来自客户端请求头的headebuffer大小
    client_body_temp_path /tmp; #指定连接请求试图写入缓存文件的目录路径

上面是我的配置文件信息,请问有什么不对吗?能有人解答下么~谢谢。

回复内容:

操作系统:CentOS/Linux (内核版本:3.10.0-229.7.2.el7.x86_64)
服务器:nginx/1.9.2
PHP版本:5.6.9
现象:从浏览器上传文件失败,通过firebug查看post数据,提示post数据过大。
原因:文件上传和cookie大小相关配置没配置好。
尝试过程:已经把nginx和php相关配置项配好,但是仍然出现上述现象。中间有过成功的样例,但忘了把配置文件备份~直接就修改测试~结果忘了正确的配置。
时间:两天,净时间每天八个小时左右~
补充:每次上传的文件大小不超过2M。文件夹相关配置也无误,都是777权限。实在没有办法了~

http {
    include       mime.types;
    default_type  application/octet-stream;
    
    client_body_buffer_size 20M;
    client_max_body_size 900m; #设置允许客户端请求的最大的单个文件字节数
    client_header_buffer_size 20m; #指定来自客户端请求头的headebuffer大小
    client_body_temp_path /tmp; #指定连接请求试图写入缓存文件的目录路径

上面是我的配置文件信息,请问有什么不对吗?能有人解答下么~谢谢。

这个应该是nginx文件上传大小限制的缘故
你修改完这个配置 client_max_body_size后, 要先/path/to/nginx -t 测试一下配置文件修改是否生效,然后再reload nginx。

并且你要看下client_max_body_size是不是在你上传的域名配置下覆盖了。