欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Linux环境FastDFS分布式文件系统及PHP扩展库的安装与配置

程序员文章站 2022-04-25 13:50:01
...

一、FastDFS简介 FastDFS是由happy_fish100开发的一个开源轻量级分布式 文件 系统 ,她对文件进行管理,功能包括:文件存储、文件同步、文件 访问 (文件上传、文件 下载 )等, 解决 了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册

一、FastDFS简介

FastDFS是由happy_fish100开发的一个开源轻量级分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。系统结构图如下所示:

Linux环境FastDFS分布式文件系统及PHP扩展库的安装与配置

更多文档:

项目地址:http://code.google.com/p/fastdfs/

FastDFS介绍:http://linux.chinaunix.net/bbs/thread-1062461-1-1.html

二、安装与配置

在上文《基于VMware环境Linux服务器集群方案--LVS+Keepalived (1)》拓扑图中已描述了FastDFS结构,包括两台服务器:

Tracker server: 192.168.195.3(Port: 22122)

Storage server: 192.168.195.4(Port: 23000)

1、安装FastDFS,下载FastDFS源码包,eg:FastDFS_v1.28.tar.gz,Tracker server与Storage server安装方式一样,过程如下:

#wget http://fastdfs.googlecode.com/files/FastDFS_v1.28.tar.gz

#tar -zvxf FastDFS_v1.28.tar.gz

#cd FastDFS

#./make.sh(如果需要HTTP支持,将make.sh中"# WITH_HTTPD=1"的#去掉)

#./make.sh install

#mkdir /etc/fdfs

#mkdir /home/yuqing/fastdfs

2、启动Tracker server

#cp conf/tracker.conf /etc/fdfs/

#/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

3、启动Storage server

#cp conf/storage.conf /etc/fdfs/

#/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

注:根据自身的真实环境修改tracker.conf和storage.conf,亦可参照《FastDFS配置文件详解》,本环境中需要将storage.conf的tracker_server值修改为192.168.195.3:22122。

三、FastDFS客户端PHP扩展库的安装与配置

目前FastDFS的PHP扩展不支持Windows平台,在安装PHP扩展前,应先安装FastDFS客户端(客户端安装过程同上)和PHP,扩展库安装如下所示:

#cd php_client(进入FastDFS安装包/FastDFS/php_client)

#/opt/php/bin/phpize

#./configure --with-php-config=/opt/php/bin/php-config

#make && make install

#cp ../conf/client.conf /etc/fdfs/(修改client.conf, eg:tracker_server=192.168.15.3:22122)

#cat fastdfs_client.ini >> /opt/php/etc/php.ini

修改php.ini的配置项目,如:

fastdfs_client.tracker_group_count = 1

fastdfs_client.tracker_group0 = /etc/fdfs/client.conf

重启web服务器即可。在php_client已经有扩展函数说明和程序示例。

PS:感谢happy_fish100热心帮助!


感染源博客[ http://blog.csdn.net/caleng ]