fastDFS介绍
- fastDFS 是以C语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等
集群图
图一(7台服务器版本):

图三(3台服务器版本):

安装准备工作
- 需准备3台Linux CentOS7服务器
- 1台用于搭建Tracker跟踪器
- 2台用于搭建storage储存
- 为了更好的区分在那个服务器敲命令分别叫(1号服务器、2号服务器、3号服务器)
- 准备安装软件
- fastdfs-6.06.zip
- fastdfs-nginx-module-1.22.zip
- libfastcommon-1.0.43.zip
- nginx-1.16.1.tar.gz
- ngx_cache_purge-2.3.tar.gz
storage建议相同的组硬件配置一样。
镜像下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2003.iso
软件下载地址:https://pan.baidu.com/s/1YPCveyzziW_vHG_MsNRciQ 提取码:mpnv
开始安装
1、通用配置
首先在[1号服务器]创建“usr/local/”目录下创建,software的目录,用于存放我们的安装文件。
mkdir /usr/local/software
在[1号服务器]该目录下上传本文提供的所有软件
[root@localhost software]# ll
总用量 2164
-rw-r--r--. 1 root root 913487 7月 17 01:21 fastdfs-6.06.zip
-rw-r--r--. 1 root root 22297 7月 17 01:21 fastdfs-nginx-module-1.22.zip
-rw-r--r--. 1 root root 221467 7月 17 01:21 libfastcommon-1.0.43.zip
-rw-r--r--. 1 root root 1032630 7月 17 01:21 nginx-1.16.1.tar.gz
-rw-r--r--. 1 root root 12248 7月 17 01:21 ngx_cache_purge-2.3.tar.gz
由于其他服务器也需要上传软件,避免一个一个操作浪费时间这里直接使用传输命令(需要传输给2号服务器、3号服务器)
scp -r /usr/local/software/ root@192.168.179.137:/usr/local/
修改服务器ip,输入命令,根据提示输入yes,然后在输入服务器密码即可
在[1号服务器、2号服务器、3号服务器]开始安装gcc,由于一个一个服务器比较浪费时间,可以设置发送命令到所有会话(注意:需关闭其它不需要的会话,否则会发送到其它服务器)。

yum install make cmake gcc gcc-c++

解压libfastcommon-1.0.43.zip文件
unzip /usr/local/software/libfastcommon-1.0.43.zip -d /usr/local/fast/
如果这里返回-bash: unzip: 未找到命令,表示需要安装unzip,如果可以正常解压,就不需要在进行安装了
yum install zip unzip
同样安装unzip的时候一定也要等着所有的窗口都可以输入y在输入,确保同步。
安装成功后可以再次输入解压命令unzip /usr/local/software/libfastcommon-1.0.43.zip -d /usr/local/fast/
现在开始安装vim,要不然不能正常编译,同样需要在[1号服务器、2号服务器、3号服务器]上安装,由于是批量安装的一定要等到所有会话输入y的时候才能输入y
yum install vim-enhanced
安装后依次执行
cd /usr/local/fast/libfastcommon-1.0.43
./make.sh
./make.sh install

这里可以看出fastcommon安装在/usr/lib64下面,这个目录不常用,可以直接创建软链接,让我们日后方便管理,同样需要在[1号服务器、2号服务器、3号服务器]上执行创建软连。
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
接下来安装FastDFS,执行该命令
unzip /usr/local/software/fastdfs-6.06.zip -d /usr/local/fast/
现在去FastDFS解压目录,执行安装命令./make.sh和./make.sh install命令进行安装,同样这里操作的是所有窗口要等全部执行完成后才能执行下一个命令。
cd /usr/local/fast/fastdfs-6.06
./make.sh
./make.sh install
由于FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是我们实际安装在/usr/bin/下,所以我们需要修改FastDFS配置文件中的路径。
vim /etc/init.d/fdfs_storaged
## 这个是全局替换命令,是将/usr/local/bin替换成/usr/bin,这里的:(冒号)需要手动输入,然后可以复制%s+/usr/bin+/usr/bin命令
:%s+/usr/local/bin+/usr/bin
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wlr1GSIR-1595399664356)(en-resource://database/1514:1)]](https://i-blog.csdnimg.cn/blog_migrate/6949f904ffaafe6515e15d9097012215.png)
2、安装tracker跟踪器
前面执行的都是公共环境,下面的操作只需要配置tracker也就是[1号服务器],注意要将多余的窗口关闭,避免操作失误,先拷贝一份tracker.conf.sample并改名为tracker.conf
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
接下来编辑tracker.conf文件,需要将base_path基础目录,日记文件也在该目录(该目录必须要存在,该软件不会自动生成路径),的默认路径改为/fastdfs/tracke
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wWK7cc3X-1595399664357)(en-resource://database/1503:1)]](https://i-blog.csdnimg.cn/blog_migrate/867e73e72c7ae588c8ce00136fe79743.png)
由于我们的/fastdfs/tracke,路径并不存在,执行递归方式创建目录
mkdir -p /fastdfs/tracker
在启动tracker之前需要配置一下防火墙,开启22122端口。
在/etc/sysconfig/iptables文件下添加
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22122 -j ACCEPT
修改成功后重启防火墙
service iptables restart
如果iptables文件不存在说明没有安装ptables,依次执行
## 检测是否安装
service iptables status
## 没有就安装
yum install -y iptables
## 有就更新
yum update iptables
## 安装iptables-services
yum install iptables-services
## 重启防火墙
service iptables restart
## 设置防火墙开机自启
systemctl enable iptables.service
现在来启动trackerd,如果出现了错误可以在/fastdfs/tracker/logs 查看具体原因
/etc/init.d/fdfs_trackerd start
可以执行ps -ef | grep fdfs查看是否正常启动

现在trackerd追踪器已经搭建成功了
3、开始搭建storage
为了避免操作失误首先需要把1号服务器窗口关闭,开启[2号服务器、3号服务器]窗口。
这里同样可以开启发送键到所有会话

进入/etc/fdfs目录复制storage.conf.sample并且改名为:storage.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
编辑storage.conf文件,需要修改三个地方,同样也需要操作两台服务器[2号服务器、3号服务器]
- 第一个:base_path的路径改成/fastdfs/storage
- 第二个:store_path0的路径改成/fastdfs/storage
- tracker_server值改成第一台服务器ip:22122(注意:因为tracker只搭建了一个,所以tracker只需要保存一个)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4uG5kIFe-1595399664358)(en-resource://database/1589:1)]](https://i-blog.csdnimg.cn/blog_migrate/3bb0831e8513945269de39231ddd6a0e.png)
我们系统中并没有/fastdfs/storage目录,这里继续使用递归方式创建目录
mkdir -p /fastdfs/storage
需要给[2号服务器、3号服务器]开放23000与8888端口,8888端口后面的步骤会开放给nginx,这里提前开放。
-A INPUT -p tcp -m state --state NEW -m tcp --dport 23000 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT
然后重启防火墙
service iptables restart
启动storaged
/etc/init.d/fdfs_storaged start
可以使用tailf来查看日志
tailf /fastdfs/storage/logs/storaged.log
2号服务器日记结果:

3号服务器日记结果:

在2号服务器或者3号服务器输入
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
可以用于查看,集群信息,由于这里日记太多就不详细截图了

4、开始上传文件测试
去1号服务器/etc/fdfs/,将client.conf.sample拷贝一份,并重命名为client.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
需要修改client.conf两个地方
- base_path:路径改成/fastdfs/tracker
- tracker_server:改成一号服务器ip:221222

由于/fastdfs/tracker目录之前已经创建了,这里就不需要在此创建了。
我们可以在/usr/local,上传一个3.png图片,用于测试。
执行一下命令上传到fastDFS:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/3.png
这里注意只能用一个空格分隔,不可以用两个以上的空格要不然会找不到文件

命令步骤解析
- /usr/bin/fdfs_upload_file 调用上传
- /etc/fdfs/client.conf 表示上传的配置文件
- /usr/local/3.jpg 指定要上传哪个文件
group1/M00/00/00/wKizil8R0X2AZ-ZcAAEfqAc_yPc884.png
其中group1表示这张图片被保存在了哪个组当中,M00代表磁盘目录,如果电脑只有一个磁盘那就只有M00, 如果有多个磁盘,那就M01、M02…等等。00/00代表磁盘上的两级目录,每级目录下是从00到FF共256个文件夹,两级就是256*256个。
现在我们可以去[2号服务器,3号服务器]检查是否上传成功
cd /fastdfs/storage/data/00/00
ls


5、配置nginx
现在只能通过FastDFS客户端进行访问,如果想通过http方式访问还需要配置nginx。
继续操作[2号服务器、3号服务器],同样继续打开发送命令到所有会话
unzip /usr/local/software/fastdfs-nginx-module-1.22.zip -d /usr/local/fast/
进入nginx目录下
cd /usr/local/fast/fastdfs-nginx-module-1.22/src
查看该目录详情

我们需要修改config文件
- 将/usr/local/include修改成/usr/include,因为make install安装实际上是安装在/usr/include下

替换好后我们直接将,文件覆盖到3号服务器即可
安装nginx依赖,由于是批量安装的一定要等到所有会话输入y的时候才能输入y。
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
安装nginx,由于我们nginx之前就已经下载好了,所以现在只需要解压编译安装即可
tar -zxvf /usr/local/software/nginx-1.16.1.tar.gz -C /usr/local/
解压后进入到nginx目录下
cd /usr/local/nginx-1.16.1/
设置配置文件
./configure --add-module=/usr/local/fast/fastdfs-nginx-module-1.22/src/
执行编译安装
make && make install

安装成功后可以看到/usr/local/下有个,nginx文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KVwbWozn-1595399664365)(en-resource://database/1548:1)]](https://i-blog.csdnimg.cn/blog_migrate/e5f61cc7d7577b4f434a4c22cbae4e5c.png)
继续回到fastdfs-nginx-module目录下
cd /usr/local/fast/fastdfs-nginx-module-1.22/src/
我们将mod_fastdfs.conf复制到/etc/fdfs/下
cp mod_fastdfs.conf /etc/fdfs/
现在需要修改/etc/fdfs/mod_fastdfs.conf文件
connect_timeout=10 ##超时时间
tracker_server=192.168.179.137:22122 ## tracker地址
url_have_group_name=true
store_path0=/fastdfs/storage
group_name=group1
group_count=1
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/fastdfs/storage
修改成功后,上传到[2号服务器、3号服务器]都需要操作
然后我们将/usr/local/fast/FastDFS/conf/目录下的http.conf和mime.types两个文件复制到/etc/fdfs/目录下,同样2号服务器、3号服务器]都需要操作
cd /usr/local/fast/fastdfs-6.06/conf/
cp http.conf mime.types /etc/fdfs/
复制成功后,创建软链接
ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
接着配置nginx,我们到nginx的配置文件目录下
cd /usr/local/nginx/conf/
修改nginx.conf文件,将端口改成8888
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}

同样[2号服务器、3号服务器]都需要操作
因为之前就打开了8888端口这里不需要在操作打开888端口了,所以我们直接启动就好了
/usr/local/nginx/sbin/nginx
我们现在去1号服务器继续执行上传命令
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/3.png
日志返回
group1/M00/00/00/wKizil8R6EeARwkZAAEfqAc_yPc430.png
我们使用浏览器访问2号服务器ip:8888/group1/M00/00/00/wKizil8R6EeARwkZAAEfqAc_yPc430.png

在访问3号服务器ip:8888/group1/M00/00/00/wKizil8R6EeARwkZAAEfqAc_yPc430.png

6、配置反向代理
在跟踪器(1号服务器)上安装nginx
tar -zxvf /usr/local/software/ngx_cache_purge-2.3.tar.gz -C /usr/local/fast/
解压完可以看到/usr/local/fast/多了一个ngx_cache_purge-2.3文件夹

安装所需要的依赖库,在设备上依次执行下面的命令。
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
接下来解压nginx
tar -zxvf /usr/local/software/nginx-1.16.1.tar.gz -C /usr/local/
在接下来进入nginx的目录,设置配置
cd /usr/local/nginx-1.16.1
./configure --add-module=/usr/local/fast/ngx_cache_purge-2.3
在执行安装
make && make install

现在去/usr/local/nginx/conf目录下将nginx.conf文件修改成以下内容
#user nobody;
worker_processes 1;
#pid logs/nginx.pid;
events {
worker_connections 1024;
use epoll;
}
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
tcp_nopush on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#设置缓存
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 300m;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
#设置缓存存储路径,存储方式,分别内存大小,磁盘最大空间,缓存期限
proxy_cache_path /fastdfs/cache/nginx/proxy_cache levels=1:2
keys_zone=http-cache:200m max_size=1g inactive=30d;
proxy_temp_path /fastdfs/cache/nginx/proxy_cache/tmp;
#group1的服务设置
upstream fdfs_group1 {
server 2号服务器ip:8888 weight=1 max_fails=2 fail_timeout=30s;
server 3号服务器ip:8888 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#group1的负载均衡配置
location /group1/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache http-cache;
proxy_cache_valid 200 304 12h;
proxy_cache_key $uri$is_args$args;
#对应group1的服务设置
proxy_pass http://fdfs_group1;
expires 30d;
}
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
修改完nginx.conf之后需要创建proxy_cache目录和tmp目录,因为我们在nginx.conf文件中配置缓存路径时指定了该目录
mkdir -p /fastdfs/cache/nginx/proxy_cache
mkdir -p /fastdfs/cache/nginx/proxy_cache/tmp
接下来启动nginx即可
/usr/local/nginx/sbin/nginx
现在执行上传测试
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/3.png

使用浏览器访问1号服务器ip/group1/M00/00/00/wKizil8VuSeAfYsJAAL3YEsRLGg189.png

如果不能访问就有可能是防火墙没开启80端口,因为已经多次编写开放端口教程,这里就不在重复阐述了。
FastDFS扩容(如果不需要扩容,无视本记录)
1、准备工作
准备两台服务器用来安装storage储存,这里命名为4号服务器、5号服务器,其他步骤都和之前搭建一样,唯一的区别是将分组改成了group2。

2、安装通用配置
首先在[4号服务器、5号服务器]创建“usr/local/”目录下创建,software的目录,用于存放我们的安装文件。
mkdir /usr/local/software
在[1号服务器]该目录下上传本文提供的所有软件
[root@localhost software]# ll
总用量 2164
-rw-r--r--. 1 root root 913487 7月 17 01:21 fastdfs-6.06.zip
-rw-r--r--. 1 root root 22297 7月 17 01:21 fastdfs-nginx-module-1.22.zip
-rw-r--r--. 1 root root 221467 7月 17 01:21 libfastcommon-1.0.43.zip
-rw-r--r--. 1 root root 1032630 7月 17 01:21 nginx-1.16.1.tar.gz
-rw-r--r--. 1 root root 12248 7月 17 01:21 ngx_cache_purge-2.3.tar.gz
由于其他服务器也需要上传软件,避免一个一个操作浪费时间这里直接使用传输命令(需要传输给5号服务器)
scp -r /usr/local/software/ root@192.168.179.137:/usr/local/
修改服务器ip,输入命令,根据提示输入yes,然后在输入服务器密码即可
在[4号服务器、5号服务器]开始安装gcc,由于一个一个服务器比较浪费时间,可以设置发送命令到所有会话(注意:需关闭其它不需要的会话,否则会发送到其它服务器)。

yum install make cmake gcc gcc-c++

解压libfastcommon-1.0.43.zip文件
unzip /usr/local/software/libfastcommon-1.0.43.zip -d /usr/local/fast/
如果这里返回-bash: unzip: 未找到命令,表示需要安装unzip,如果可以正常解压,就不需要在进行安装了
yum install zip unzip
同样安装unzip的时候一定也要等着所有的窗口都可以输入y在输入,确保同步。
安装成功后可以再次输入解压命令unzip /usr/local/software/libfastcommon-1.0.43.zip -d /usr/local/fast/
现在开始安装vim,要不然不能正常编译,同样需要在[4号服务器、5号服务器]上安装,由于是批量安装的一定要等到所有会话输入y的时候才能输入y
yum install vim-enhanced
安装后依次执行
cd /usr/local/fast/libfastcommon-1.0.43
./make.sh
./make.sh install

这里可以看出fastcommon安装在/usr/lib64下面,这个目录不常用,可以直接创建软链接,让我们日后方便管理,同样需要在[4号服务器、5号服务器]上执行创建软链。
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
接下来安装FastDFS,执行该命令
unzip /usr/local/software/fastdfs-6.06.zip -d /usr/local/fast/
现在去FastDFS解压目录,执行安装命令./make.sh和./make.sh install命令进行安装,同样这里操作的是所有窗口要等全部执行完成后才能执行下一个命令。
cd /usr/local/fast/fastdfs-6.06
./make.sh
./make.sh install
由于FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是我们实际安装在/usr/bin/下,所以我们需要修改FastDFS配置文件中的路径。
vim /etc/init.d/fdfs_storaged
## 这个是全局替换命令,是将/usr/local/bin替换成/usr/bin,这里的:(冒号)需要手动输入,然后可以复制%s+/usr/bin+/usr/bin命令
:%s+/usr/local/bin+/usr/bin
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wlr1GSIR-1595399664356)(en-resource://database/1514:1)]](https://i-blog.csdnimg.cn/blog_migrate/6949f904ffaafe6515e15d9097012215.png)
3、安装storage储存
这里同样可以开启发送键到所有会话,需要将多余的窗口关闭

进入/etc/fdfs目录复制storage.conf.sample并且改名为:storage.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
编辑storage.conf文件,需要修改三个地方,同样也需要操作两台服务器[4号服务器、5号服务器]
- 第一个:base_path的路径改成/fastdfs/storage
- 第二个:store_path0的路径改成/fastdfs/storage
- 第三个:group_name改成group2
- tracker_server值改成第一台服务器ip:22122(注意:因为tracker只搭建了一个,所以tracker只需要保存一个)
分组一定要改成不一样的,相同的分组只能当做备份,只有不相同的分组才能起到扩容的作用
我们之前文章上写的[2号服务器、3号服务器]group_name都是group1,所以扩容的[4号服务器、5号服务器]group_name改成group2
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4uG5kIFe-1595399664358)(en-resource://database/1589:1)]](https://i-blog.csdnimg.cn/blog_migrate/3bb0831e8513945269de39231ddd6a0e.png)
我们系统中并没有/fastdfs/storage目录,这里继续使用递归方式创建目录
mkdir -p /fastdfs/storage
需要给[4号服务器、5号服务器]开放23000与8888端口,8888端口后面的步骤会开放给nginx,这里提前开放。
-A INPUT -p tcp -m state --state NEW -m tcp --dport 23000 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT
然后重启防火墙
service iptables restart
启动storaged
/etc/init.d/fdfs_storaged start
可以使用tailf来查看日志
tailf /fastdfs/storage/logs/storaged.log
4号服务器日记结果:

5号服务器日记结果:

在4号服务器或者5号服务器输入
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
可以用于查看,集群信息,由于这里日记太多就不详细截图了

4、测试上传
可以直接去1号服务器执行
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/3.png

这里截图可以看出,分别上传到了分组1、分组2。跟踪器默认是根据磁盘空间优先考虑的,如果长时间测试不出效果可以改一下配置文件,etc/fdfs/tracker.conf
-
store_lookup 默认是2
- 0:指定组(round robin),未指定轮流上传
- 1:选择组的
- 2:根据磁盘空间优先
只需要改成0就可以看到效果了,或者将某个分组关闭,在上传也是可以看出效果的。
本文参考
- https://blog.youkuaiyun.com/u012453843/article/details/68957209
- https://blog.youkuaiyun.com/u012453843/article/details/69055570
- https://blog.youkuaiyun.com/u012453843/article/details/69172423
常用命令:
- 启动nginx:/usr/local/nginx/sbin/nginx
- 关闭nginx:/usr/local/nginx/sbin/nginx -s stop
- 启动Tracker(跟踪器): /etc/init.d/fdfs_trackerd start
- 关闭Tracker(跟踪器): /etc/init.d/fdfs_trackerd stop
- 重启Tracker(跟踪器): /etc/init.d/fdfs_trackerd restart
- 启动storage(储存):/etc/init.d/fdfs_storaged start
- 关闭storage(储存):/etc/init.d/fdfs_storaged stop
- 重启storage(储存):/etc/init.d/fdfs_storaged restart
- 重启防火墙:service iptables restart
- 启动防火墙:service iptables start
禁止使用kill -9方式关闭fastDFS,因为有可能会导致文件信息不同步
tracker.conf文件
- port 端口
- base_path 基础目录(日志文件) ,该目录必须存在
storage.cong文件
- group_name组名
- port端口名
- base_path 基础目录
- store_path0 第一个文件存放路径
- store_path1 第二个文件存放路径 (依次类推,这里有几个对应的store_path_count就填写几个)
- tracker_server tracker地址
- store_path_count 表示几个磁盘路径
data目录会有256个文件夹,每个文件夹里面还有256个文件夹
禁止使用kill -9方式关闭fastDFS,因为有可能会导致文件信息不同步
client.conf文件
- base_path 基础路径
- tracker_server tracker地址
测试上传
fdfs_test <config配置文件> <upload | download | getmeta | setmeta | delete and query_servers> [文件名称]
上传示例:
fafs_test /etc/fdfs/client.conf upload aa.txt
下载示例:
fafs_test /etc/fdfs/client.conf download <组名> <文件名>
删除示例:
fafs_test /etc/fdfs/client.conf delete <组名> <文件名>
M00表示一个硬盘
- *.后缀 表示上传的文件内容
- *_big.后缀 表示上传文件信息备份
- *.后缀-m 表示上传文件属性(一般都会直接存入数据库)
Maven打包命令
mvn clean install
tracker.conf(etc/fdfs/)
- store_lookup 默认是2
- 0:指定组(round robin)
- 1:选择组的
- 2:根据磁盘空间优先
mod_fastdfs.conf
- base_path
- tracker_server
- url_have_group_name
- store_path0 文件存储路径
http.conf(/etc/fdfs/)
- http.anti_steal.check_token true表示开启防盗链检查,false表示关闭防盗链
- http.anti_steal.secret_key 防盗链秘钥
- http.anti_steal.token_ttl 每次生成的访问链的有效时间
- http.anti_steal.token_check_fail 校验失败,访问的图片
group_count 组数量
696

被折叠的 条评论
为什么被折叠?



