FastDFS完整安装部署操作手册

时间:2022-09-19 08:58:35

FastDFS安装部署操作手册

一 环境信息

1 安装文件信息

软件包

软件版本

备注

FastDFS

v5.02

 

Fastdfs-nginx-module

v1.16

 

Libevent

v2.0.20

 

libfastcommon

 

下载最新的master即可

nginx

v1.11.3

 

 

2 服务器信息

服务器

IP

端口

作用

Tracker1

192.168.21.128

22122

Tracker

Tracker2

192.168.21.129

22122

Tracker

Storage1

192.168.21.137

GroupDFS1

23000

Storage

Storage2

192.168.21.138

GroupDFS1

23000

Storage

 

二 安装libevent

         FastDFS内部使用libevent作为http服务器,如果使用apache或者nginx作为http服务器,该步骤可以不需要。

         如果系统已经安装libevent,需要先卸载,命令如下:

#yum –y remove libevent

         安装libevent,命令如下:

#Tar xvf libevent-2.0.20-stable.tar.gz

#cd libevent

#./configure –prefix=/usr

#make

#make install

 

三 安装TrackerServer

1 创建安装目录并解压FastDFS安装文件,命令如下:

#mkdir /home/yuqing

#tar zxvf FastDFS_v5.02.tar.gz /home/yuqing

修改make.sh文件,将"#WITH_HTTPD=1"修改为"WITH_HTTPD=1",开启http支持。

然后执行如下命令进行安装

#./make.sh                //开始编译

#./make.sh install           //安装

 

2 配置TrackerServer

配置文件路径:/home/yuqing/FastDFS/conf

修改配置文件:tracker.conf,修改loggroup等文件存放的目录(可以配置为任意存在的目录)

bast_path=/home/yuqing/fastdfs修改为 bast_path=/home/yuqing/FastDFS

修改http端口

http.server_port=8080 修改为 http.server.port=80

开启http支持

##include http.conf 修改为 #include http.conf

 

3 启动TrackerServer,启动命令如下:

/usr/local/bin/fdfs_tracked /home/yuqing/FastDFS/conf/tracker.conf

 

注意:其他的TrackerServer按照以上步骤安装启动即可。

 

四 安装StorageServer

1 创建安装目录并解压FastDFS安装文件,命令如下:

#mkdir /home/yuqing

#tar zxvf FastDFS_v5.02.tar.gz /home/yuqing

修改make.sh文件,将"#WITH_HTTPD=1"修改为"WITH_HTTPD=1",目的是开启http支持。

然后执行如下命令进行安装

#./make.sh                //开始编译

#./make.sh install           //安装

 

2 配置StorageServer

修改storage.conf配置文件,定义loggroup等存储目录(可以是任意存在的目录)

Base_path=/home/yuqing/fastdfs -> bast_path=/home/yuqing/FastDFS

修改文件存位置,一个storage可以指定多个目录(真实存在的目录):

Store_path0=/home/yuqing/fastdfs 修改为 store_path0=/home/yuqing/FastDFS

添加store_path1=/home/yuqing/fastdfs2

定义组:

Group_name= GroupDFS1

修改tracker_server的地址和端口,可以指定多个:

Tracker_server=192.168.21.128:22122

Tracker_server=192.168.21.129:22122

开启http支持:

##include http.conf 修改为 #include http.conf

 

3 启动StoragerServer,命令如下:

#/usr/local/bin/fdfs_storaged /home/yuqing/FastDFS/conf/storage.conf

 

注意:其他的StorageServer按照以上步骤继续安装即可。

 

五 在每一台StorageServer上安装FastDFS的nginx模块

1 安装libfastcommon

在每一台服务器上,解压libfastcommon,进入libfastcommon-master目录执行
./make.sh
./make.sh install

安装结束后,由于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
 

 

2 解压FastDFS-nginx-module

修改fastdfs-nginx-moduleconfig文件,原来的内容是:

CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"

使用vim /home/nginx/fastdfs-nginx-module/src/config,修改为

CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon"

注意:各个版本的位置并不统一.所以需要根据自己的版本修改位置。

 

3 安装nginx

在每一个StorageServer上都需要安装Nginx,具体的安装步骤可以参照:http://blog.itpub.net/29254281/viewspace-1283760/

增加fastdfs_nginx-module,在nginx安装目录下执行如下命令:

./configure \
--prefix=/home/nginx/nginx-1.6.2 \
--sbin-path=/home/nginx/nginx-1.6.2/nginx \
--conf-path=/home/nginx/nginx-1.6.2/nginx.conf \
--pid-path=/home/nginx/nginx-1.6.2/nginx.pid \
--with-http_ssl_module \
--add-module=/home/nginx/fastdfs-nginx-module/src

注意:--add-module=/home/nginx/fastdfs-nginx-moduleFastdfs-nginx-module解压目录。

执行命令:

make -j `cat /proc/cpuinfo | grep processor| wc -l` && make install

复制fastdfs-nginx-module源码中的配置文件到/etc/fdfs

cp /home/nginx/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs

修改该配置文件(mod_fastdfs.conf):

group_name= GroupDFS1

tracker_server=192.168.1.128:22122

tracker_server=192.168.1.129:22122

store_path0=/home/yuqing/FastDFS

base_path=/tmp

url_have_group_name = true //在URL中包含组名

复制FastDFS的配置到/etc/fdfs:

cd /home/yuqing/FastDFS/conf

cp http.conf mime.types /etc/fdfs

修改Nginx配置文件:

location / GroupDFS1/M00 {

            root /home/yuqing/FastDFS/data;

                if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){

                        add_header Content-Disposition: 'attachment;';

                }

                if ($arg_attname ~ "^(.*)") {

                        add_header Content-Disposition "attachment;filename=$arg_attname";

                }

            ngx_fastdfs_module;

        }

/home/yuqing/FastDFS/data目录下创建软连接,将其链接到实际存放数据的目录:

cd /home/yuqing/FastDFS/data

ln -s /home/yuqing/FastDFS/data /home/yuqing/FastDFS/data/M00

 

启动Nginx

cd /home/nginx/nginx-1.11.3

./nginx

 

六 测试文件上传下载

由于FastDFS有自带的客户端程序,经过配置后,可进行文件上传。

Tracker1服务上修改客户端配置文件:/home/yuqing/FastDFS/conf/client.conf

修改文件存放位置:

Base_path=/home/yuqing/fastdfs 修改为 bast_path=/home/yuqing/FastDFS

修改Tracker_server:

Tracker_server =192.168.21.128:22122

Tracker_server =192.168.21.129:22122

开启http支持

##include http.conf –> #include http.conf

创建文件:

cd /usr/local/bin

#mkdir test.txt

执行上传命令:

#/usr/local/bin/fdfs_test /home/yuqing/FastDFS/conf/client.conf upload test.txt

执行下载命令:

fdfs_download_file    /home/yuqing/FastDFS/conf/client.conf      groupDFS1/M00/00/00/CsBAaE_tXv6txIgKAAAAEDYmZBM100_big.txt                test2.txt

由于上传文件后存在一个URL地址,在浏览器中直接访问该地址即可下载文件。

七 常用命令

1 重启tracker_server

/usr/local/bin/restart.sh /usr/local/bin/fdfs_tracked /home/yuqing/FastDFS/conf/tracker.conf

 

2 停止tracker_server

/usr/local/bin/stop.sh /usr/local/bin/fdfs_tracked /home/yuqing/FastDFS/conf/tracker.conf

 

3 server进程退出运行:

直接kill即可让server进程正常退出,可以使用killall命令,例如:

killall fdfs_trackerd

killall fdfs_storaged

也可以使用FastDFS自带的stop.sh脚本,如:

/usr/local/bin/stop.sh /usr/local/bin/fdfs_storaged/home/yuqing/FastDFS/ storage.conf

stop.sh只会停止命令行(包括参数)完全相同的进程。千万不要使用-9参数强杀,否则可能会导致binlog数据丢失的问题。

 

4 重启server进程:

可以killserver进程后,执行启动命令行。如:

killall fdfs_trackerd

/usr/local/bin/fdfs_trackerd  /home/yuqing/FastDFS/tracker.conf

或者直接使用FastDFS自带的restart.sh脚本,如:

/usr/local/bin/restart.sh /usr/local/bin/fdfs_trackerd/home/yuqing/FastDFS/tracker.conf

 

5 删除无效的storageserver

可以使用fdfs_monitor来删除。命令行如下:

/usr/local/bin/fdfs_monitor <config_filename> delete<group_name> <storage_ip>

例如:

/usr/local/bin/fdfs_monitor /home/yuqing/FastDFS client.conf delete groupDFS1 192.168.21.137

注意:如果被删除的storage server的状态是ACTIVE,也就是该storage server还在线上服务的情况下,是无法删除掉的。

 

6 查看tracker_serverstorage_server状态

#/usr/local/bin/fdfs_monitor /home/yuqing/FastDFS/conf/client.conf

 

八 附录

1 参考文档

http://blog.csdn.net/fd315063004/article/details/7703142

http://lz710.blog.51cto.com/8184961/1695941