FastDFS安装和问题解决-全流程

这两天学习 Django, 练习项目用到了 FastDFS 分布式文件系统.
在安装 FastDFS 有遇到一些问题,就想着记录下(说不定以后用的到呢.)
操作系统

一. 安装fastdfs依赖包

下载链接:官方地址 https://sourceforge.net/projects/libfastcommon/files/
在这里插入图片描述

  1. 解压下载的 libfastcommon_v1.04.tar.gz
  2. 进入 libfastcommon_v1.04.
  3. 执行 ./make.sh
    -/make.sh: 153: ./make.sh: make: not found
    • 解决方法: sudo apt-get install gcc
  4. 执行 sudo ./make.sh install

二. 安装fastdfs

下载链接:官网 https://sourceforge.net/projects/fastdfs/files/FastDFS Server Source Code/FastDFS Server with PHP Extension Source Code V5.08/

  1. 解压缩 FastDFS.tar.gz
  2. 进入 FastDFS目录中
  3. 执行 ./make.sh
  4. 执行 sudo ./make.sh install

三. 配置跟踪服务器

  1. 执行 sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
  2. 在/home/python/目录中创建目录 fastdfs/tracker
    mkdir –p /home/kk/fastdfs/tracker
  3. 编辑/etc/fdfs/tracker.conf配置文件
    sudo vim /etc/fdfs/tracker.conf
    • 我的ubuntu是新装的没有 vim
      • 需要安装 vim, 执行 sudo apt-get install vim
        修改: base_path=/home/kk/fastdfs/tracker

四. 配置存储服务器storage

  1. sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
  2. 在/home/python/fastdfs/ 目录中创建目录 storage
    mkdir –p /home/kk/fastdfs/storage
  3. 编辑/etc/fdfs/storage.conf配置文件
    sudo vim /etc/fdfs/storage.conf
    修改内容:
    • base_path=/home/kk/fastdfs/storage
    • store_path0=/home/python/fastdfs/storage
    • tracker_server=自己ubuntu虚拟机的ip地址:22122

五. 启动tracker 和 storage

  • sudo service fdfs_trackerd start
  • sudo service fdfs_storaged start

六. 测试是否安装成功

  1. sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
  2. 编辑/etc/fdfs/client.conf配置文件
    sudo vim /etc/fdfs/client.conf
    修改内容:
    base_path=/home/python/fastdfs/tracker
    tracker_server=自己ubuntu虚拟机的ip地址:22122
  3. 上传文件测试:
    fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
    如果返回类似 group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg 的文件id则说明文件上传成功

七. 安装nginx及fastdfs-nginx-module

  1. 解压缩 nginx-1.8.1.tar.gz
  2. 解压缩 fastdfs-nginx-module_v1.16.tar.gz
  3. 进入nginx-1.8.1目录中
  4. 执行
    • sudo ./configure --prefix=/usr/local/nginx/ --add-module=fastdfs-nginx-module_v1.16.tar.gz解压后的目录的绝对路径/src

      • 我的此处发生报错(错误是关于依赖文件的)
        解决办法 (安装依赖文件)
      • sudo apt-get install libpcre3 libpcre3-dev
      • sudo apt-get install openssl libssl-dev
      • sudo apt-get install zlib1g-dev
    • sudo make

      • 这里又报错cc1: all warnings being treated as errors objs/Makefile:440: recipe for target 'objs/src/core
      • 查找了网上的解决方法
        • 进入objs目录,将Makefile中的-Werror去掉
    • sudo make install

  5. sudo cp fastdfs-nginx-module.tar.gz解压后的目录中src下的mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
  6. sudo vim /etc/fdfs/mod_fastdfs.conf
    * 修改内容:
    txt connect_timeout=10 tracker_server=自己ubuntu虚拟机的ip地址:22122 url_have_group_name=true store_path0=/home/python/fastdfs/storage
  7. sudo cp 解压缩的 FastDFS/conf 目录中的http.conf /etc/fdfs/http.conf
  8. sudo cp 解压缩的 FastDFS/conf 目录中的mime.types /etc/fdfs/mime.types
  9. sudo vim /usr/local/nginx/conf/nginx.conf
    • 在http部分中添加配置信息如下:
      server {
          listen       8888;
          server_name  localhost;
          location ~/group[0-9]/ {
              ngx_fastdfs_module;
          }
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
          root   html;
          }
      }
      
  10. 启动 nginx
    sudo /usr/local/nginx/sbin/nginx

八. 使用python客户端上传测试

*  这里需要额外安装两个依赖库: 
	``  requests  `` 和 ``  mutagen  ``
**windows安装 fdfs-client-py会出错**
解决方法:  https://blog.csdn.net/qq_38183592/article/details/88364963  (在此感谢博客主的分享)
>>> from fdfs_client.client import Fdfs_client
>>> client = Fdfs_client('/etc/fdfs/client.conf')
>>> ret = client.upload_by_filename('text')
>>> ret
{'Group name':'group1','Status':'Upload successed.', 'Remote file_id':'group1/M00/00/00/
	wKjzh0_xaR63RExnAAAaDqbNk5E8675.py','Uploaded size':'8.0KB','Local file name':'test'
	, 'Storage IP':'上传地址IP'}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值