分布式文件系统FastDFS安装及搭配Nginx的使用

分布式FastDFS文件系统

以下是centos7的单机安装

FastDFS安装配置

  1. 安装依赖库,libfastcommon,这是从FastDFS 和 FastDHT 中提取出来的公共 C 函数库

    • 在这个网址下载.tar包,然后

      tar -zxvf libfastcommon-1.0.57.tar.gz

      cd libfastcommon-1.0.57

      执行:./make.sh

      安装:./make.sh install

      注:libfastcommon.so 库就会被安装到系统路径/usr/lib/中,就不用管了。

  2. 安装FastDFS:

    • 在这个网址下载.tar包,然后

      tar -zxvf fastdfs-6.08.tar.gz

      cd fastdfs-6.08

      执行:./make.sh

      安装:./make.sh install

      默认是安装在/usr/bin里面,两个可执行文件,fdfs_trackerd和fdfs_storaged

    • 配置tracker:vim /etc/fdfs/tracker.conf,此路径及文件上步执行后就有了,主要是有一个参数要改:

      # the base path to store data and log files
      base_path = /home/fastdfs/tracker

      在这里插入图片描述

      注意:这些路径需要先事先 mkdir -p 创建出来,你可以是其它路径

    • 配置storage:vim /etc/fdfs/storage.conf

      base_path = /home/fastdfs/storage

      store_path0 = /home/fastdfs/storage

      # 由拿个tracker管理的,就写其地址,我本机ip就是192.168.125.135
      tracker_server = 192.168.125.135:22122

      在这里插入图片描述

    • 启动tracker和storage:

      service fdfs_trackerd start

      service fdfs_storaged start

    • 测试是否安装成功:

      • 改客户端配置文件:vim /etc/fdfs/client.conf

        base_path = /home/fastdfs/tracker
        tracker_server = 192.168.125.135:22122

        在这里插入图片描述

      • 上传文件:直接使用命令fdfs_upload_file

        fdfs_upload_file 客户端配置文件路径 图片路径

        即:fdfs_upload_file /etc/fdfs/client.conf ./bingbing.png

        得到一个类似于:group1/M00/00/00/wKh9fWKPNNWANnfKAA7ZvEsRqEY019.png这样的文件id结果就代表OK了。
        在这里插入图片描述


nginx配合FastDFS一起使用

访问的时候直接访问nginx,通过nginx的转发来获取,可以提高网站提供图片的效率。具体操作如下:

  1. 这里下载fastdfs-nginx-module,然后将其解压到一个地方,路径自己定:

    tar -zxvf fastdfs-nginx-module-1.22.tar.gz -C /usr/local/nginx_fastdfs/original_package # 这个路径只是我的举例,你可以是任何地方

  2. 安装nginx,跟菜鸟教程这个网址来走就好了,非常简单。但是一定要注意一点,在./configure时要注意加一个参数:–add-module=上面fastdfs-nginx-module解压的绝对路径/src,那么你安装nginx时configure时的命令可能就如下:

    ./configure --prefix=/usr/local/nginx_fastdfs/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.45 --add-module=/usr/local/nginx_fastdfs/original_package/fastdfs-nginx-module-1.22/src/

    make && make install

    • –prefix指定安装位置,你同样可以决定安装位置;
    • –add-module是这里要添加的,值的路径是 fastdfs-nginx-module解压绝对路径/src
    • 以上命令后nginx就是安装到/usr/local/nginx_fastdfs/nginx里面的。
      在这里插入图片描述
  3. 进行配置:

    • 配置fastdfs-nginx-module:将其解压路径里的src下的mod_fastdfs.conf复制到前面的/etc/fdfs/里面
      cp /your_prefix_path/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/
      然后vim修改配置:vim /etc/fdfs/mod_fastdfs.conf

      connect_timeout=10
      tracker_server=192.168.125.135:22122
      # 默认是false,给true就是最前面返回文件名时带group1这样的组的名字,我们是需要的
      url_have_group_name = true
      # 跟上面配置storage时设置的这个路径一样
      store_path0=/home/fastdfs/storage

      在这里插入图片描述

    • 复制配置文件:先进到前面解压的fastdfs-6.08的conf目录里
      cd fastdfs-6.08.tar.gz解压的绝对路径里/conf

      # 复制一些配置文件

      cp http.conf mime.types /etc/fdfs/

    • 修改nginx的配置文件:vim /usr/local/nginx_fastdfs/nginx/conf/nginx.conf
      修改里面的http配置信息的部分,如下:

      server {
      listen 6789;
      server_name 192.168.125.135;
      location ~/group[0-9]/ {
      ngx_fastdfs_module;
      }
      }

      注:~/group[0-9]/ 代表正则匹配,以匹配上面上传图片后得到的id,后面就是以 group[0-9] 开头的url
      在这里插入图片描述

  4. 启动nginx,进到nginx安装路径的sbin目录启动nginx:在这里插入图片描述

  5. 访问前面上传文件的图片地址就能拿到图片:192.168.125.135:6789/group1/M00/00/00/wKh9fWKPNNWANnfKAA7ZvEsRqEY019.png

    • 这是我的虚拟机上装的FasfDFS和nginx,我用windows的浏览器请求,大抵会失败,因为防火墙问题,上面nginx监听的6789端口并没有暴露出来
      在这里插入图片描述

    • 那就去开启端口重启防火墙再访问:

      firewall-cmd --add-port=6789/tcp --permanent
      firewall-cmd --reload

      在这里插入图片描述
      注意:你防火墙软件可能是iptables,那就网上搜这个的开启端口方式

    • 现在再访问这个地址就可以了:192.168.125.135:6789/group1/M00/00/00/wKh9fWKPNNWANnfKAA7ZvEsRqEY019.png
      在这里插入图片描述

这个还可以与其它语言的结合起来使用,如Django框架的搭配使用。
不过现在这个很久没更新了,可能有些跟不上时代的步伐了,现在用到的比较多的文件管理系统有MINIO,社区比较活跃,也有各种语言的API接口,或许你可以去试试。

希望能帮到你~

.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值