简述:FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。linux
环境: centos7nginx
安装包:c++
安装包位置:/usr/local/softwarevim
安装准备:关闭防火墙和selinuxcentos
安装依赖:yum install pcre-devel zlib zlib-devel openssl openssl-devel make cmake gcc gcc-c++服务器
1.安装 libfastcommon负载均衡
cd /usr/local/software分布式
unzip libfastcommon-master.zip -d /usr/local/fast/ ide
cd /usr/local/fast/libfastcommon-master/性能
./make.sh
./make.sh install
建立软链接
FastDFS主程序设置的目录为/usr/local/lib/,因此咱们须要建立/ usr/lib64/下的一些核心执行程序的软链接文件
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
2.安装FastDFS
cd /usr/local/software
tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
./make.sh
./make.sh install
安装完后,服务脚本位置以下:
配置文件位置以下(划线部分为后续添加)
cd /etc/fdfs
FastDFS一系列执行脚本以下,能够看到有上传文件脚本、下载文件脚本等等
cd /usr/bin/ && ls | grep fdfs
fastDFS服务脚本设置的bin目录为/usr/local/bin/下,可是实际咱们安装在了/u sr/bin/下面。因此咱们须要修改FastDFS配置文件中的路径,也就是须要修改两个配置文件。
vim /etc/init.d/fdfs_storaged
进入编辑模式
输入 :%s+/usr/local/bin+/usr/bin
输入完以后回车,会提示修改了7处。
保存退出
vim /etc/init.d/fdfs_trackerd
进入编辑模式
输入::%s+/usr/local/bin+/usr/bin
一样会提醒咱们修改了7处
保存退出
配置跟踪服务器
进入到/etc/fdfs目录而且复制一份tracker.conf.sample并命名为tracker.conf
cp tracker.conf.sample tracker.conf
修改配置
vim /etc/fdfs/tracker.conf
base_path=/fastdfs/tracker
/fastdfs/tracker目前是不存在的,所以咱们须要建立一下该目录
mkdir -p /fastdfs/tracker
在启动tracker以前,/fastdfs/tracker目录下是没有任何文件的
启动tracker,启动完以后,能够看到这个目录下多了两个目录data和logs
/etc/init.d/fdfs_trackerd start
设置开机自启
vim /etc/rc.d/rc.local
/etc/init.d/fdfs_trackerd start
chmod +x /etc/rc.d/rc.local
配置fastdfs存储
cd /etc/fdfs
cp storage.conf.sample storage.conf
vim /etc/fdfs/storage.conf
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.1.141:22122
http.server_port=8888
建立存储目录
mkdir -p /fastdfs/storage
在启动storage以前,/fastdbf/storage目录下是没有任何文件的
/etc/init.d/fdfs_storaged start
查看FastDFS tracker和storage 是否启动成功,当看到以下所示信息时说明都启动成功了
进入到 /fastdfs/storage/data/目录下,能够看到不少目录
设置开机自启
vim /etc/rc.d/rc.local
/etc/init.d/fdfs_storaged start
测试图片上传
cd /etc/fdfs
cp client.conf.sample client.conf
vim /etc/fdfs/client.conf
base_path=/fastdfs/tracker
tracker_server=192.168.1.141:22122
找到命令的脚本位置,而且使用命令,进行文件的上传
cd /usr/bin/ && ls | grep fdfs
测试文件上传 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/3.jpg
可作可不作
2.FastDFS与nginx相结合
先安装nginx
tar -zxvf nginx-1.6.2.tar.gz -C /usr/local/
cd /usr/local/nginx-1.6.2
./configure --prefix=/usr/local/nginx
make && make install
启动nginx
/usr/local/nginx/sbin/nginx
ps -ef | grep nginx
查看是否有进程存在
若是要关闭nginx,咱们可使用以下命令:
/usr/local/nginx/sbin/nginx -s stop
若是想要从新热启动nginx,则使用以下命令:
/usr/local/nginx/sbin/nginx -s reload
3.安装fastdfs-nginxmodule_v1.16.tar.gz(fast与nginx相结合的模块安装包
cd /usr/local/software
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
cd /usr/local/fast/fastdfs-nginx-module/src/
修改该conf文件,咱们把文件的第四行配置中的/usr/local/include都改成/usr/include,共两处
vim conf
fastdfs与nginx进行结合,因为咱们刚才安装过nginx了,所以在/usr/local目录下已经生成了一个nginx目录了
默认安装地址/usr/local/nginx(如没有,可经过whereis nginx查询或者find / -name nginx
为了将nginx与fastdfs相结合,咱们先把这个nginx目录删除掉,
rm -rf nginx
进入到nginx-版本号(1.6.2)/目录下并执行配置和编译安装:
./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
make && make install
复制fastdfs-nginx-module中的配置文件,到/etc/fdfs目录中
cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
到 /etc/fdfs/ 目录下,修改咱们刚copy过来的mod_fastdfs.conf 文件,须要修改的项以下,其中第一项是超时时长,第三项是容许外界经过http方式访问资源。
connect_timeout=10
tracker_server=192.168.156.13:22122
url_have_group_name = true
store_path0=/fastdfs/storage
复制FastDFS里的2个文件,到/etc/fdfs目录中,以下所示。
修改nginx配置文件
vim nginx.conf
重启下nginx
顺便也把nginx也加入到开机自启(具体操做略)
上传文件或图片
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/0a9a05ab02e9f6cc4641ce1f02b755fc.j
pg
记下返回的地址
group1/M00/00/00/wKgBjVyB-uaAdgK3ABBDTsH8aeI247.jpg
经过http的方式访问咱们上传的图片
到此搭建完毕 !!!