FastDFS客户端(Python版)指南

最近做了一个分布式的项目用到了FastDFS,关于FastDFS这里就不阐述了,有兴趣了解的小伙伴,请到官网:http://bbs.chinaunix.net/forum-240-1.html。这里着重介绍FastDFS客户端(Python版),此版客户端已经用于实际项目,目前运行稳定。项目托管于git,地址:https://github.com/cosysun/FastDFSClient_Python.git。

 

一、原理

在官方C++客户端的基础上重新封装C++接口,并提供给Python调用

 

二、优势

1、 效率比纯python版本的要高

2、易于维护,与官网C++客户端更新同步

3、稳定性好

 

三、安装说明

本人采用的安装环境是 CentOS 6.4 64bit,具体步骤如下:

1、复制ClientForPython到FastDFS源代码client目录下

2、复制json库 cp json/lib/* /usr/local/lib/ ldconfig  

这里的JSON库是我在CentOS下编译的,有可能在其他系统上有冲突,请下载源码重新编译,地址:https://github.com/open-source-parsers/jsoncpp.git

3、接入ClientForPython目录下 执行Make

 

4、注意事项

1)请确保安装了 python-devel 如果是Ubuntu,请确保安装python-dev 不然会找不到Python.h

2)  源Makefile里的Python库是在 /usr/local/include/python2.7 如果您不是请安装你自己的目录修改

3)Makefile请根据Fastdfs安装目录做修改 特别是fastcommon 和 fastdfst 这两个我是安装在 /usr/local/include/下的,而默认安装有可能是 /usr/include/ 记得修改

 

四、接口介绍

1、fdfs_init(参数1 日志等级) 初始化Fastdfs客户端

参数1:字符串 FastDFS客户端配置文件目录, 比如:"/etc/fdfs/client.conf"

参数2:整形 打印日志等级 总共有七级

 

LOG_EMERG = 0
LOG_ALERT = 1
LOG_CRIT = 2
LOG_ERR = 3
LOG_WARNING = 4
LOG_NOTICE = 5
LOG_INFO = 6
LOG_DEBUG = 7


2、fdfs_download(参数1, 参数2) 下载文件

 

参数1: 字符串 所在的Fastdfs组名 例如:group2

参数2: 字符串 具体存放路径 例如:M00/00/00/CgEIzVRlv3SAYJCTAAAsFwWtoVg9432330

 

3、fdfs_upload(参数1, 参数2) 上传文件

参数1: 字符串 文件内容 

参数2: 字符串 文件后缀  默认可为空 “”

 

4、fdfs_delete(参数1, 参数2) 删除文件

参数1: 字符串 所在的Fastdfs组名 例如:group2

参数2: 字符串 具体存放路径 例如:M00/00/00/CgEIzVRlv3SAYJCTAAAsFwWtoVg9432330

 

5、监控FastDFS信息

list_all_groups()  监控所有group信息

list_one_group("IP地址") 监控指定ip信息

list_storages("组名", "IP地址")  监控某组下storages的信息,如果ip不为空则监控全部,

 

6、fdfs_slave_upload(参数1, 参数2,  参数3, 参数4) 上传文件

参数1: 字符串 文件内容 

参数2: 字符串 文件后缀  默认可为空 “”

参数3:主文件的remote_filename, 比如 M00/00/00/CgEIzVRlv3SAYJCTAAAsFwWtoVg9432330   注意这个名词不包含 group名

参数4:文件前缀名,比如可以采用尺寸 200x200 或者其他自己可以识别的字符串

 

五、使用范例

请参考test目录下测试用例

 

六、联系

有问题的小伙伴,请关注微信公众号

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
您好!关于FastDFS公网无法连接客户端的问题,可能有以下几个原因导致: 1. 防火墙设置:请确保您的公网服务器上的防火墙设置正确,允许FastDFS使用的端口通过。默认情况下,FastDFS使用的端口是23000(Tracker Server)和8888(Storage Server),您可以根据您的配置进行相应的调整。 2. 网络配置:请确保您的公网服务器的网络配置正确,包括IP地址、子网掩码、网关等。尤其要确保公网IP地址是正确的,并且可以从外部网络访问。 3. Tracker Server配置:请检查您的Tracker Server配置文件(通常是tracker.conf),确保绑定的IP地址是您公网服务器的IP地址,而不是内部网络的IP地址。您可以通过修改配置文件中的`bind_addr`参数来指定要绑定的IP地址。 4. Storage Server配置:如果您使用了Storage Server,请确保Storage Server的配置文件(通常是storage.conf)中的`tracker_server`参数正确地指向您的Tracker Server的公网地址。如果您有多个Tracker Server,确保配置文件中指定了所有Tracker Server的公网地址。 5. NAT转发:如果您的公网服务器位于NAT后面(例如在局域网中),请确保正确设置了NAT转发规则,将FastDFS使用的端口映射到公网IP地址上。 希望以上信息对您有所帮助!如果问题仍然存在,请提供更多详细的错误信息和配置细节,以便我能够更好地帮助您解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值