nginx 上传文件慢

nginx 上传文件慢,第1张

问题:项目进行了前后端分离,同一台服务器下 后台使用docker 进行部署,并使用Nginx 进行代理访问后台,结果上传30M 文件用了1分钟,实际上10秒左右就可以了。 刚开始以为是 client_max_body_size proxy_send_timeout proxy_read_timeout 的问题,因为上传速度很快,但是就是在上传成功后,一直在等待服务器的响应。所以一开始就都在这个问题上纠结耗费挺多时间。 后面同事说是 proxy_pass http://ht-api:9001 的问题,注意这个代理地址里面的这个 ht-api 这个其实是我部署docker 的容器名称,了解docker 的都知道,docker 容器在同一个bridge网络下可以通过名称进行访问的,当时我就觉得这个也相当于内网的访问的呀,并没有再经过其他网络层了。 说白还是对docker 不了解后面是更换了 proxy_pass http://127.17.0.3:9001 容器的虚拟IP地址,才真正解决了问题。 有哪位大佬可以解释下这个问题么?

通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题:

用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_size这个参数,否则会中断在nginx的请求中,在php中是无法记录到访问的.

一般上传大文件流程:

首先修改php.ini文件:

file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开

upload_tmp_dir – 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹

upload_max_filesize 8m 望文生意,即允许上传文件大小的最大值。默认为2M

post_max_size 8m 指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M

一般来说,设置好上述四个参数后,在网络正常的情况下,上传<=8M的文件是不成问题的

但如果要上传>8M的大文件的话,只设置上述四项还不一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数。

max_execution_time 600 每个PHP页面运行的最大时间值(秒),默认30秒

max_input_time 600 每个PHP页面接收数据所需的最大时间,默认60秒

memory_limit 8m 每个PHP页面所吃掉的最大内存,默认8M

webserver用的是nginx,在nginx的conf中添加了一个参数:

默认是1M,需要增大的话。

在nginx.conf中增加一句

client_max_body_size 30m

重启即可

30m表示最大上传30M,需要多大设置多大。

因为有个上传大文件的功能,修改了springboot 的yml配置文件中的上传配置文件的参数

 maxHttpHeaderSize: 102400000

 maxHttpPostSize: 102400000

无法打开网站,各种js,css资源文件加载不出来报错404,一开始一直检查tomcat应用,但在本地环境和测试内网环境单tomcat都ok,后怀疑

是dc/os配置问题,然后各种上传镜像修改启动应用的服务器,还是不行。

解决办法

https://blog.csdn.net/webnoties/article/details/17266651

通过设置nginx的client_max_body_size解决nginx+java上传大文件的问题: 

用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_size这个参数,否则会中断在nginx的请求中是无法记录到访问的. 

但是还是不行,因为的webserver用的是nginx, google了一下,发现在nginx的conf中添加了一个参数: 

默认是1M,需要增大的话。 

在nginx.conf中增加一句 

client_max_body_size 500m 

重启即可 

500m表示最大上传500M,需要多大设置多大。

最后发现原因就是 用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_size这个参数,否则会中断在nginx的请求中是无法记录到访问的. 


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/626021.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-16
下一篇2023-07-16

发表评论

登录后才能评论

评论列表(0条)

    保存