免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: happy_fish100
打印 上一主题 下一主题

[FastDFS] FastDFS通过HTTP下载文件 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2010-05-24 17:44 |只看该作者
斑竹,感觉目前对http处理比较乱,tracker的配置http.disabled+编译中的#WITH_HTTPD=1,都无法屏蔽http的处理,这样很容易遭到攻击。


是不是都可以这样处理:
只要WITH_HTTPD=1屏蔽,则不作所有http处理;
若未屏蔽,则WITH_HTTPD和http.disabled合起来决定使用哪种http的处理模式

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
22 [报告]
发表于 2010-05-25 12:41 |只看该作者
回复 21# liuxy

对于tracker server而言,WITH_HTTPD这个宏和http.disabled都是为了屏蔽tracker上的HTTP服务。

WITH_HTTPD这个宏决定编译时是否支持HTTP服务。
如果根本不需要tracker server内置的HTTP服务,注释掉WITH_HTTPD=1,即:
#WITH_HTTPD=1
然后重新编译所有程序。缺省这个宏就是注释掉的。

http.disabled这个参数决定运行时是否需要开启HTTP服务。只能当编译时支持了HTTP服务,http.打头的参数(当然包含参数http.disabled)才有意义。
WITH_HTTPD这个宏和http.disabled这个参数,只要任意一项是关闭的,那么tracker server都不会开启HTTP服务。
http.disabled缺省值是false,即开启HTTP服务。

论坛徽章:
0
23 [报告]
发表于 2010-06-01 10:45 |只看该作者
回复 19# happy_fastdfs

location /group1/M00/ {
            alias   /fastdfs1/data/;
        }

        location /group1/M01/ {
            alias   /fastdfs2/data/;
        }

论坛徽章:
0
24 [报告]
发表于 2010-06-02 14:30 |只看该作者
回复 23# allan_hz

多谢allan_hz指点,测试OK!

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
25 [报告]
发表于 2010-10-25 19:24 |只看该作者

FastDFS Apache Module开发完成

本帖最后由 happy_fish100 于 2010-11-17 11:32 编辑

另外一个解决方案:使用web server扩展模块方式,通过storage server上部署的web server直接对用户提供HTTP下载服务。此时tracker server上不需要开启HTTP服务。

模块工作机制:
   1. 对请求URL中的文件名进行反解,得到文件创建时间、文件大小和源storage server IP地址
   2. 如果文件在本地存在,直接返回文件内容;否则转3
   3. 文件在本地不存在的情况处理:
       1)如果 (当前时间 - 文件创建时间) > 文件同步延迟阀值(如一天) 或者 源storage server IP地址在本机IP中(即当前文件上传到的源storage server为本机),则返回404 NOT FOUND
       2)如果配置为redirect模式,直接重定向到源storage server IP对应的URL;否则为proxy模式,调用FastDFS client API从源storage server IP获取该文件并返回给客户端

目前已开发完成apache模块,正在测试阶段。

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
26 [报告]
发表于 2010-11-19 21:27 |只看该作者
回复 25# happy_fish100

apache模块和nginx模块均已开发完成,请大家试用,有问题随时反馈。
apache module下载地址:http://code.google.com/p/fastdfs-apache-module/downloads/list
nginx module下载地址:http://code.google.com/p/fastdfs-nginx-module/downloads/list

论坛徽章:
0
27 [报告]
发表于 2011-03-15 11:04 |只看该作者
回复 1# happy_fish100

版主好, 我有个问题想问下, 你有提到过, tracker上用内置的web server, 然后storage server上使用nginx或 apache之类的web server,
我要问的就是是在每一台storage server上附一台nginx之类的web server吗?
如果不是, 那比如说只在一台storage server上安装nginx之类的web server?
那这样就问题来了, 如果是前者, 那每台storage server上安装一台nginx是不是会管理麻烦跟带来性能的损失,
如果是后者, 那所有的通信都是通过一台web server。 那其他storage server就没有用了。
我要问的目前就这些, 请帮忙解答一下, 十分感谢!

论坛徽章:
0
28 [报告]
发表于 2011-03-15 11:29 |只看该作者
我报告一个bug, 在php_client/fastdfs_client.ini里所有的#换成;
才是正确的。 在vim里可以这样做, :0,$s/#/;/g

个人感觉webserver_moule这一块的角色不明确, 我们撇开http下载不谈,
module 在DFS系统中他是属于storage的一块还是属于client中的一块,
或者两者都是, 但从配置文件来看,像是属于storage,
如果从webserver来看又像是属于client.

希望解答一下, 谢谢!

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
29 [报告]
发表于 2011-03-15 11:38 |只看该作者
回复 27# BrytonLee

每台storage server上都需要安装web server。

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
30 [报告]
发表于 2011-03-15 11:41 |只看该作者
回复 28# BrytonLee
我报告一个bug, 在php_client/fastdfs_client.ini里所有的#换成;
才是正确的。 在vim里可以这样做, :0,$s/#/;/g

php的ini文件,注释符采用#貌似不可以?如果确实是这样,注释符改成分号好了。

个人感觉webserver_moule这一块的角色不明确, 我们撇开http下载不谈,
module 在DFS系统中他是属于storage的一块还是属于client中的一块,
或者两者都是, 但从配置文件来看,像是属于storage,
如果从webserver来看又像是属于client.

扩展模块是非常独立的,它并不从属于storage server,也不依赖storage server。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP