FastDFS文件服务个人学习总结

FastDFS文件服务总结

  • 1. 虚拟机的安装:
  • 2. 虚拟机环境配置:
  • 3. 虚拟机安装FastDFS+Nginx:
  • 4. SpringBoot 整合FastDFS:
  • 5. 防盗链:
  • 说明:

1. 虚拟机的安装:

①装VMware;
②进入bios界面配置CPU支持虚拟化;
(win10 intel F12进入,然后选最后一个选项,之后找到对应位置进行设置)
③装系统,本次安装 CentOS7;后续操作均基于CentOS7系统,仅供参考。
资源地址:
链接:https://pan.baidu.com/s/1SQ_Cyr_oPzmd5HdtNsortw
提取码:qeff

2. 虚拟机环境配置:

① 分配IP,并设为静态IP;(期间要安装vim命令)
参考地址:https://blog.csdn.net/akipa11/article/details/81414875

② 关闭 防火墙(或开fastdfs和Nginx需要的端口),命令:systemctl stop firewalld
参考地址:https://blog.csdn.net/zhou_438/article/details/86761398

③ 安装 docker,步骤:
    a. yum update   升级本地yum包
    b. yum install -y yum-utils   安装工具集
    c. yum install -y docker   安装docker(-y 表示静默安装,安装过程不再询问)
    d. systemctl start docker.service  启动docker
参考地址:https://www.linuxidc.com/Linux/2019-05/158742.htm
                https://blog.csdn.net/songer_xing/article/details/78599197
注意:docker 有内嵌的运行环境,所以想要修改fastdfs的一些配置时需要先进入docker内部,本次命令:
          docker exec -it fastdfs /bin/bash

3. 虚拟机安装FastDFS+Nginx:

① 拉取镜像并启动
命令:docker run -d --restart=always --privileged=true --net=host --name=fastdfs -e IP=47.95.234.255 -e WEB_PORT=80 -v ${HOME}/fastdfs:/var/local/fdfs registry.cn-beijing.aliyuncs.com/tianzuo/fastdfs
其中-v H O M E / f a s t d f s : / v a r / l o c a l / f d f s 是 指 : 将 {HOME}/fastdfs:/var/local/fdfs是指:将 HOME/fastdfs:/var/local/fdfs{HOME}/fastdfs这个目录挂载到容器里的/var/local/fdfs这个目录里。所以上传的文件将被持久化到${HOME}/fastdfs/storage/data里,IP 后面是自己的服务器公网ip或者虚拟机ip,-e WEB_PORT=80 指定nginx端口

  ② 测试
  docker exec -it fastdfs /bin/bash

   echo "Hello FastDFS!">index.html

   fdfs_test /etc/fdfs/client.conf upload index.html

   参考地址:https://blog.csdn.net/tttzzztttzzz/article/details/86709318

4. SpringBoot 整合FastDFS:

  ① 推荐一开源项目:https://github.com/codingapi/fileServer 

  ② 也可参考:https://blog.csdn.net/tttzzztttzzz/article/details/86709318

5. 防盗链:

 思路:
       用户访问--》经ip过滤(header-referer)请求token--》服务器返回真实访问地址
                    --》用户通过真实访问地址拿到资源
 注意:fastdfs-client-java-1.27-SNAPSHOT.jar这个依赖包在maven中央仓库是没有的,所以需要手动到

github下载源码然后打包加入本地依赖,源码地址:https://github.com/happyfish100/fastdfs-client-java
时间同步(docker容器时间要同步)
fastdfs自带的防盗链暂时调不通,web生成的token和fastdfs的token不一致;需要查询fastdfs token
是根据什么生成的

说明:

本篇文档参考了多篇博客,仅进行了简单研究,如有不正确的地方欢迎指正。

你可能感兴趣的:(技术总结,java)