Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 48780|回复: 17

让Discuz! X2 使用 Nginx 的 sendfile 功能

[复制链接]
发表于 2011-9-1 18:44:50 | 显示全部楼层 |阅读模式
本帖最后由 xooass 于 2011-9-2 00:21 编辑

        传统的Web服务器在处理文件下载的时候,总是先读入文件内容到应用程序内存,然后再把内存当中的内容发送给客户端浏览器。这种方式在应付当今大负载网站会消耗更多的服务器资源。sendfile是现代操作系统支持的一种高性能网络IO方式,操作系统内核的sendfile调用可以将文件内容直接推送到网卡的buffer当中,从而避免了Web服务器读写文件的开销,实现了“零拷贝”模式。

        Nginx 对 sendfile 有着良好的支持,Discuz! X2 也支持把附件通过 sendfile 发给客户,对于资源下载类的论坛,能明显减少PHP读取附件的资源占用。

         1,先在Nginx的配置文件里面检查是否有 sendfile off 配置,如果有,那么把sendfile 改为on

         2,打开论坛的配置文件config/config_global.php ,找到$_config['download']['xsendfile']['type'] =,把0改为1
              找到$_config['download']['xsendfile']['dir'] = '/down/';
              如果论坛放在根目录,那么把/down/改为/data/attachment/forum/
              如果论坛放在bbs目录,那么把/down/改为/bbs/data/attachment/forum/
              以此类推。

本教程基于用户手册的Nginx配置部分编写,实际测试有效。地址http://faq.comsenz.com/userguide/x/nginx.html

如果有用其他安装教程安装的,配置不成功的,可以在下面跟帖说明,并留下联系方式。无关帖子一律删除。

发表于 2011-9-2 09:55:38 | 显示全部楼层
回复

使用道具 举报

发表于 2011-9-2 10:05:38 | 显示全部楼层
去看看
回复

使用道具 举报

发表于 2011-9-2 10:06:19 | 显示全部楼层
回复

使用道具 举报

发表于 2011-9-2 10:07:02 | 显示全部楼层
回复

使用道具 举报

发表于 2011-9-2 12:19:57 | 显示全部楼层
学习一下。。
回复

使用道具 举报

发表于 2011-9-2 12:24:02 | 显示全部楼层
本帖最后由 junhan 于 2011-9-2 12:35 编辑

正在找呢。谢谢

请问一下,nginx.conf文件里面还需要添什么吗?


回复

使用道具 举报

发表于 2011-9-2 14:26:21 | 显示全部楼层
{:soso_e181:}{:soso_e182:}
回复

使用道具 举报

发表于 2011-9-2 16:27:36 来自手机 | 显示全部楼层
支持.坚决支持!
回复

使用道具 举报

发表于 2011-9-3 18:59:58 | 显示全部楼层
yes,this is good work!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

腾讯云「工商注册服务」全新上线!全场低至10元起,一站搞定工商服务,让创业起步更轻松

小黑屋|Discuz! 官方站 ( 粤B2-20090059-165 )star

GMT+8, 2020-9-25 19:12

Powered by Discuz! X3.3

Copyright © 2001-2019 Tencent Cloud.

快速回复 返回顶部 返回列表