zoukankan      html  css  js  c++  java
  • FastDFS环境搭建和注意事项

    FastDFS

    FastDFS作为一个分布式文件系统,使用原理和环境搭建步骤网上有很多教程,https://www.cnblogs.com/chiangchou/p/fastdfs.html?tdsourcetag=s_pcqq_aiomsg该博客写得非常的完美,按照博客上的步骤进行搭建即可。(防火墙开发的命令建议根据实际系统进行配置。该博客中的防火墙和新版的centos 防火墙不一样,我这边使用的系统是CentOS Linux release 7.7.1908 ,防火墙不是iptables而是firewalld。)

    FastDFS文件上传操作原理

    1、storage定时向Tracker上传状态信息
    2、client发送上传连接请求到Tracker,Tracker查询步骤1返回可用的storage
    3、Tracker将可用的storage的ip和端口返回到client
    4、client发送file content(文件内容)和metadata(源数据)到storage
    5、storage接收到client发送的信息后,生成file ID 并将上传的内容写入磁盘,然后依次返回给Tracker和client
    6、将生成的file ID(group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接等信息)写入数据库

    FastDFS安装思路

    版本:V5.05 (网上安装教程一般都是V5.05的)
    libfastcommon(基础环境)+FastNDF(Tracker+Storage+Client)+Nginx(astdfs-nginx-module )
    1、确保linux系统上安装了GCC编译器
    2、下载编译安装FastDNS基础环境libfastcommon
    3、下载编译安装FastDNS
    4、修改FastDFS 服务脚本设置的默认路径。默认路径是/usr/local/bin,但实际命令安装在/usr/bin
    修改方法1)直接修改/etc/init.d/fdfs_tracker和fdfs_storaged文件中配置的路径地址。
    修改方法2)创建软连接ln-s,将 /usr/bin 下的restart.sh、restart.sh、fdfs_tracker、fdfs_storaged连接到/usr/bin下
    5、修改tracker.conf配置文件中的base_path 和 http.server_port。(http.server_port应该和nginx中配置的端口一致)
    6、将storage.conf.sample重命名storaged.conf 并配置文件中的base_path 、store_path0、tracker_server和http.server_port。tracker_server为服务器配置的域名或者ID地址+tracker端口号
    7、验证Tracker 和Storage 通信是否正常:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
    8、cd命令 client.conf.sample重命名为client.conf文件 ,修改client.conf文件中的base_path 和 tracker_server。
    9、上传图片进行测试。
    如果以上均测试没有问题,那么根据自己的实际需求,设置开机自启动和防火墙开发端口。 (tracker默认端口:22122 Storage默认端口:23000 )
    10、安装nginx 修改nginx.conf 将/group1/M00 映射到对应的路径下。
    11、开放防火墙端口后,通过域名+端口+文件上传返回的字符串信息进行访问操作。
    12、nginx 整合fastdfs-nginx-module模块

    FastDFS安装过程中常见的报错

    1、使用GCC编译时报错,建议更新或下载安装GCC
    2、配置文件错误,无法正确启动程序,建议检查conf文件中配置信息是否正确
    3、启动时端口占用,建议更换端口或者将已经占用该端口的进程强制结束掉
    4、Tracker和Storage 均能启动,但是无法通讯,建议检查:两边配置文件中的参数是否匹配,racker.conf文件中的tracker_server参数是否正确。
    5、上传文件成功并返回文件ID但是无法浏览器访问。建议检查防火墙是否关闭、已经开放了nginx端口、已经默认端口是否是80
    (通过域名直接访问,默认只能访问80端口,如果修改了端口号那么需要域名+端口才能访问)

     

     

     

     

     

     

  • 相关阅读:
    Why Choose Jetty?
    Jetty 的工作原理以及与 Tomcat 的比较
    Tomcat设计模式
    Servlet 工作原理解析
    Tomcat 系统架构
    spring boot 打包方式 spring boot 整合mybaits REST services
    wireshark udp 序列号 User Datagram Protocol UDP
    Maven 的聚合(多模块)和 Parent 继承
    缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis
    Mybatis解决sql中like通配符模糊匹配 构造方法覆盖 mybits 增删改
  • 原文地址:https://www.cnblogs.com/linxinmeng/p/11910501.html
Copyright © 2011-2022 走看看