简述:FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

环境: centos7

安装包:centos7   搭建FastDFS服务器

安装包位置:/usr/local/software

安装准备:关闭防火墙和selinux

安装依赖: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/

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

安装完后,服务脚本位置如下:

centos7   搭建FastDFS服务器

配置文件位置如下(划线部分为后续添加)

cd /etc/fdfs

centos7 搭建FastDFS服务器_第1张图片

FastDFS一系列执行脚本如下,可以看到有上传文件脚本、下载文件脚本等等

cd /usr/bin/ && ls | grep fdfs

centos7 搭建FastDFS服务器_第2张图片

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

centos7 搭建FastDFS服务器_第3张图片

设置开机自启

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

centos7 搭建FastDFS服务器_第4张图片

查看FastDFS tracker和storage 是否启动成功,当看到如下所示信息时说明都启动成功了

centos7   搭建FastDFS服务器

进入到 /fastdfs/storage/data/目录下,可以看到很多目录

centos7 搭建FastDFS服务器_第5张图片

设置开机自启

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

centos7 搭建FastDFS服务器_第6张图片

测试文件上传 /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

centos7 搭建FastDFS服务器_第7张图片

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目录中,如下所示。

centos7 搭建FastDFS服务器_第8张图片

修改nginx配置文件

vim nginx.conf

centos7 搭建FastDFS服务器_第9张图片

重启下nginx

顺便也把nginx也加入到开机自启(具体操作略)

上传文件或图片

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/0a9a05ab02e9f6cc4641ce1f02b755fc.j
pg

记下返回的地址

group1/M00/00/00/wKgBjVyB-uaAdgK3ABBDTsH8aeI247.jpg

通过http的方式访问我们上传的图片

到此搭建完毕 !!!