什么是FastDFS?

百科: https://baike.baidu.com/item/fastdfs/5609710?fr=aladdin

他可以用来做什么?

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

和之前对比,把上传的位置做了变化。这次把图片上传到远程的图片服务器。分布式共享。

他的工作流程是怎样的

文件上传时序图:(按照时间的请求顺序)

在存储服务器上存储了具体的内容,返回给客户端的只是存储的地
址, 以后就拿这个远程的地址就可以访问到图片了。

下载文件时序图:

FastDFS安装

操作系统:centos7.5

安装包: fastdfs-master.zip fastdfs-nginx-module-master.zip libfastcommon-master.zip

过程:

1.安装libfastcommon工具包

解压缩: unzip libfastcommon-master.zip

注意:若unzip命令没找到:yum install -y unzip zip

安装命令:./make.sh ./make.sh install

2.安装Tracker服务(监听服务)

解压缩: unzip fastdfs-master.zip

安装: ./make.sh ./make.sh install

注意:安装后在/usr/bin/目录下有以fdfs开头的文件
都是编译出来的。配置文件都放到/etc/fdfs文件夹

把/opt/fastdfs/fastdfs-master/conf目录下的所有的配置文件
都复制到/etc/fdfs下(从源码的配置文件/opt/fastdfs-soft/fastdfs
master/conf/中复制)。 cp conf/ /etc/fdfs/

配置tracker服务。修改/ etc/fdfs /tracker.conf文件。
base_path=/home/demo/fastdfs[手动创建目录用来存储]
http.server_port=85

启动tracker。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf 重启使用命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

Storage服务安装

安装storage服务,这个就是真正的存储服务。如果是在不同的服务器安装,第三步的1~4需要重新执行。这里我们在同样一台服务器,不再需要对源码进行重复的编译和安装,仅仅只需要配置storage服务。

修改/ etc/fdfs /storage.conf文件

Storage存储和日志存放路径:base_path=/home/demo/fastdfs 图片保持路径: store_path0=/home/demo/fastdfs 指定Tracker服务器: tracker_server=101.21.26.229  :22122 (阿里云使用外网IP,正常公司内部的正式服务器也只有内网 IP) http.server_port=85   注:此处需要和后面 nginx 监听端口保持一致

启动storage服务

启动:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

这里有个巨坑。当你想启动storage服务时,你会发现无论如何 也找不到fdfs_storage这个文件。这时我们需要回到fastdfs-master目录执行 ./make clean ./make ./make install进行覆盖安装 。然后我们再回到usr/bin下面就会找到
fdfs_storage 。

存储目录/home/demo/fastdfs的原始内容:(启动前)

启动后:

如果看到此图就证明fastDFS全部安装完成

测试服务

测试需要使用客户端的配置文件,所以需要修改配置文件/etc/fdfs/client.conf

客户端日志保持base_path=/home/demo/fastdfs 指定Tracker服务器: tracker_server= 101.21.26.229  :22122(外网IP) http.tracker_server_port=85 (配置nginx)

测试指令一:
指令的位置:/usr/bin 命令 ./fdfs_upload_file /etc/fdfs/client.conf /etc/fdfs/anti-steal.jpg

存储地址:group1/M00/00/00/rBGMA1q4VqqATqNmAABdrZgsqUU938.jpg

其实真实地址就是我们配的:/home/qf/fastdfs/data/00/00

测试指令二:

上传图片:./fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/anti-steal.jpg

显示有完整url :
http://192.168.132.134:85/group1/M00/00/00/wKiEhlvUNWWAAjA5AAFl0YAhvnQ243.jpg

这个路径是后来可以通过域名的方式直接访问的,现在不能访问是因为我们还没整合Nginx。

ps:防火墙放行22122 23000 两个端口

发表评论

电子邮件地址不会被公开。 必填项已用*标注