标签:
FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
FastDFS 是一个 C 语言实现的开源轻量级分布式文件系统,作者余庆(happyfish100),支持 Linux、FreeBSD、AID 等 Unix 系统,解决了大数据存储和读写负载均衡等问题,适合存储 4KB~500MB 之间的小文件,如图片网站、短视频网站、文档、app 下载站等,UC、京东、支付宝、迅雷、酷狗 等都有使用,其中 UC 基于 FastDFS 向用户提供网盘、广告和应用下载的业务的存储服务 FastDFS 与 MogileFS、HDFS、TFS 等都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务.
在下一个文档我会做详细的说明。
开源地址:https://github.com/happyfish100/fastdfs/
相关文档: http://www.csource.org
sudo apt-get install libevent-dev
libfastcommon下载地址:https://github.com/happyfish100/libfastcommon
fastdfs的下载地址:https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
分别解压解包,我的放在/home/ubuntu/apk/
cd libfastcommon
./make.sh
sudo ./make.sh install
sudo find / name ‘libpthread.so‘返回的结果为:/usr/lib/x86_64linux-gnu/libpthread.so
sudo find / name ‘libpthread.a‘返回的结果为:/usr/lib/x86_64linux-gnu/libpthread.a
进入fastdfs的目录
cd fastdfs5.05
vi make.sh 修改对应pthread的位置信息
这里把路径修改成如图所示
./make.sh
./make.sh install
mkdir -p /home/ubuntu/apk/fastdfs5.05/data 我的安装文件路径:/home/ubuntu/apk/fastdfs5.05,创建fastdfs的存储数据的目录
sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf 其实很容易发现,在执行make.sh的时候在/etc/fdfs里面生成了tracker server,storage server client的配置文件的副本,如果想投入使用,就得把相应的文件改成conf文件后缀即可
sudo vi tracker.conf
修改几个基本的位置
base_path=
/home/ubuntu/apk/fastdfs5.05/data 这个路径用来存储数据文件和日志文件,也就是说,tracker和storage服务器的日志文件都在这里查看
cp
/root/software/fastdfs-5
.05
/conf/http
.conf
/etc/fdfs
cp
/root/software/fastdfs-5
.05
/conf/mime
.types
/etc/fdfs/
ln
-s
/opt/fastdfs/image/data
/opt/fastdfs/image/data/M00
启动storage server
/usr/bin/fdfs_storaged
/etc/fdfs/storage
.conf start
cd /home/ubuntu/apk/fastdfs5.05/php_client
phpize
make &&sudo make install
然后注意,要把fastdfs自带的php扩展追加到php的配置文件中
sudo cat fastdfs_client.ini >> /etc/php5/cli/php.ini
mkdir /home/ubuntu/fastdfs5.05/data/php
sudo cp /etc/fdfs/client.conf.sample /etc.fdfs/client.conf
查看一下,fastdfs_client是否安装成功
php -m | grep fastdfs_client
发现并没有安装成功,原因是
libfastcommon.so,libfdfsclient.so默认安装到了/usr/lib64/libfastcommon.so,/usr/lib64/libfdfsclient.so,而FastDFS主程序设置的lib目录是/usr/local/lib,所以设置软连接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
其实也可以在我们一开始在make.sh的脚本里面修改,编译安装的默认地址,这里如果没有修改,就设置软连接
编辑配置文件
sudo vi client.conf
base_path=/home/ubuntu/apk/fastdfs5.05/data/php
tracker_server=192.168.11.220:22122
bind_ip="" (如果tracker server storage server在同一个机器上,就必须设置bind_ip为空,在使用的时候,才会重新分配,否则会出现ip被占用的问题)
vi test.php
<?php
var_dump(function_exists(‘fastdfs_storage_upload_by_filename‘));
$ret = fastdfs_storage_upload_by_filename(‘/tmp/upload.html‘);
var_dump($ret);
?>
fastdfs及php扩展在ubuntu14.04的安装配置
标签:
原文地址:http://www.cnblogs.com/dtiove/p/5788836.html