首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览器(chrome,firefox)使用nginx下载静态文件,而不是使用apache2。

浏览器(chrome,firefox)使用nginx下载静态文件,而不是使用apache2。
EN

Server Fault用户
提问于 2017-09-21 14:42:07
回答 1查看 754关注 0票数 0

当我让Nginx服务一个1.8 Gb的文件时,当我将url放在Chrome或Firefox中时,下载会与5 Mb/s一起下载,当我使用wget或curl、相同的URL、相同的客户端pc时,下载将与(我的最大值) 25 Mb/s一起下载。对于Apache来说,提供相同的文件时,它会同时使用浏览器和curl/wget。我的问题是:为什么?

这是一个相当默认的配置,我把limit_rate (apache2)或(Nginx)放在头中,我已经尝试了几次使用nginx,我可以用limit_rate来减缓它,但不能打开。这是启用/etc/nginx/site中默认链接的位置部分:

代码语言:javascript
复制
location files/ {
        internal;
        alias /var/www/html/;
        #directio 100m;
        output_buffers 2 512k;
        limit_rate 30000k;
        sendfile_max_chunk 0;

}

我打开directio,在其他选项中忽略或离开,打开/关闭sendfile,没有区别。

EN

回答 1

Server Fault用户

发布于 2017-09-22 06:45:44

显然,Apache2会自动填写大小和文件类型的标题,而Nginx,如果没有指定,则使用text/html作为类型,而不使用size。

因此,补充如下:

代码语言:javascript
复制
header("Content-Type: application/octet-stream");
header("Content-length: {$result[0]->size}");

加快了下载的一个因素~ 5,与我的最大。带宽。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/874845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档