fastdfs的安装与使用

181 阅读4分钟

第一步 通用配置

所有跟踪服务器和存储服务器均执行如下操作

1、编译和安装所需的依赖包:

yum install make cmake gcc gcc-c++

2、安装 libfastcommon:

(1)上传或下载 libfastcommon-master.zip 到/usr/local/src 目录
(2)解压
cd /usr/local/src/ unzip libfastcommon-master.zip cd libfastcommon-master
(3) 编译、安装
./make.sh ./make.sh install
libfastcommon 默认安装到了
/usr/lib64/libfastcommon.so /usr/lib64/libfdfsclient.so
(4)因为 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

3、安装 FastDFS

(1)上传或下载 FastDFS 源码包(FastDFS_v5.05.tar.gz)到 /usr/local/src 目录
(2)解压
cd /usr/local/src/ tar -zxvf FastDFS_v5.05.tar.gz cd FastDFS
(3)编译、安装(编译前要确保已经成功安装了 libfastcommon)
./make.sh ./make.sh install
采用默认安装的方式安装,安装后的相应文件与目录:
A、服务脚本在:
/etc/init.d/fdfs_storaged /etc/init.d/fdfs_tracker
B、配置文件在(样例配置文件):
/etc/fdfs/client.conf.sample /etc/fdfs/storage.conf.sample /etc/fdfs/tracker.conf.sample
C、命令工具在/usr/bin/目录下的:
fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_crc32 。。。。。

(4)因为 FastDFS 服务脚本设置的 bin 目录是/usr/local/bin,但实际命令安装在/usr/bin,可以进入

/user/bin 目录使用以下命令查看 fdfs 的相关命令:
cd /usr/bin/ ls | grep fdfs

第二步 配置 FastDFS跟踪服务器

1、 复制 FastDFS 跟踪器样例配置文件,并重命名:

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

2、 编辑跟踪器配置文件:

# vi /etc/fdfs/tracker.conf

修改如下:

 disabled=false
 port=22122
 base_path=/fastdfs/tracker

3、 创建基础数据目录(参考基础目录 base_path 配置):

# mkdir -p /fastdfs/tracker

第三步 配置 FastDFS 存储服务器

  • 存储服务器和跟踪服务器配置中的组名(即group_name)要一致

复制 FastDFS 存储器样例配置文件,并重命名:

# cd /etc/fdfs/
# cp storage.conf.sample storage.conf
# vi /etc/fdfs/storage.conf

修改的内容如下:

disabled=false
port=23000
base_path=/fastdfs/storage #基本存储位置
store_path0=/fastdfs/storage #文件存储位置
tracker_server=192.168.4.121:22122
http.server_port=8888 ##nginx配置的端口号

创建基础数据目录(参考基础目录 base_path 配置):

# mkdir -p /fastdfs/storage

设置 FastDFS 跟踪器开机启动:

# vi /etc/rc.d/rc.local

添加以下内容:

## FastDFS Tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf (跟踪服务器)
或
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf (存储服务器)

操作指令

1、启动FastDFS
tracker: /usr/bin/fdfs_trackered /etc/fdfs/tracker.conf
storage: /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
2、关闭FastDFS
tracker: /usr/bin/stop.sh   fdfs_tracker   (或restart.sh)
storage: /usr/bin/stop.sh fdfs_storage

3、查看集群情况 在任意一台storage(tracker也可以)
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf 

4、删除一个storage 在任意一台storage(tracker也可以) /usr/bin/fdfs_monitor /etc/fdfs/storage.conf delete group2 20.12.1.73

文件上传测试

  • client.conf用来连接tracker服务器(通常springboot也需要有类似的配置)

1、修改 Tracker 服务器中的客户端配置文件:

# cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
# vi /etc/fdfs/client.conf
base_path=/fastdfs/tracker
tracker_server=192.168.4.121:22122

2、执行如下文件上传命令: (返回结果即为 文件在文件系统中的路径)

# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /测试文件

第四步 为每一个存储服务器安装nginx模块

目的:解决文件上传有同步延迟的问题。

1、上传 fastdfs-nginx-module_v1.16.tar.gz 到/usr/local/src

2、解压

# cd /usr/local/src/
# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

3、修改 fastdfs-nginx-module 的 config 配置文件

# cd fastdfs-nginx-module/src
# vi config
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
修改为:
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
(注意:这个路径修改是很重要的,不然在 nginx 编译的时候会报错的)

4、上传当前的稳定版本 Nginx(nginx-1.8.1)到/usr/local/src 目录

5、安装编译 Nginx 所需的依赖包

# yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel

6、编译安装 Nginx(添加 fastdfs-nginx-module 模块)

# cd /usr/local
# tar -zxvf nginx-1.8.1.tar.gz
# cd nginx-1.8.1
# ./configure --add-module=/usr/local/fastdfs-nginx-module/src
# make && make install

7、复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录,并修改

# cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
# vi /etc/fdfs/mod_fastdfs.conf

修改以下配置:

connect_timeout=10
base_path=/tmp
tracker_server=192.168.25.100:22122
storage_server_port=23000
group_name=group1
url_have_group_name = true
store_path0=/fastdfs/storage

8、复制 FastDFS 的部分配置文件到/etc/fdfs 目录

# cd /usr/local/src/FastDFS/conf
# cp http.conf mime.types /etc/fdfs/

9、在/fastdfs/storage 文件存储目录下创建软连接,将其链接到实际存放数据的目录

# ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00

10、配置 Nginx
启动: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
简洁版 nginx 配置样例:

user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8888;
server_name localhost;
location ~/group([0-9])/M00 {
#alias /fastdfs/storage/data;
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

在这里插入图片描述