fastdfs在ubuntu上的安装

fastdfs在ubuntu上的安装



准备安装包

仓库地址:

happyfish100 (YuQing) · GitHub

笔记插图(第 1 页)

参考文档

Home · happyfish100/fastdfs Wiki · GitHub

本次下载的安装包及版本:

1
  //基础库 需要最先安装
2  libfastcommon-1.0.75.tar.gz
3  //新版本的依赖 老版本不需要
4  libserverframe-1.2.5.tar.gz
5  //程序主体
6  fastdfs-6.12.1.tar.gz
7  //web访问页面
8  fastdfs-nginx-module-1.24.tar.gz
9  //环境准备
10  sudo yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib
   zlib-devel openssl-devel wget vim  -y
11  sudo apt install git gcc g++ make automake autoconf libtool pcre2-utils libpcre2-dev
   zlib1g zlib1g-dev openssl libssh-dev wget vim -y

安装 libfastcommon

1
  # 解压
2      tar -zxvf V1.0.75.tar.gz
3      cd libfastcommon-1.0.75
4  # 编译、安装
5      ./make.sh
6      ./make.sh install
7  # libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录
  是/usr/local/lib,所以需要创建软链接。(老版本的需要这一步,本次可以不做)
8      ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
9      ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
10      ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
11      ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

安装 libserverframe

1
  tar -zxvf libserverframe-1.2.5.tar.gz
2  cd libserverframe-1.2.5/
3  ./make.sh
4  ./make.sh install

安装FastDFS

1
  tar -zxvf fastdfs-6.12.2.tar.gz
2  cd fastdfs-6.12.2/
3
  ./make.sh
4  ./make.sh install
5  #配置文件准备
6  cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #供nginx访问使用
7  cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #供nginx访问使用

安装fastdfs-nginx-module

1
  tar -zxvf fastdfs-nginx-module-1.24.tar.gz
2  cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
3  nginx 的安装参考nginx的编译安装
4  需要注意的是 配置的时候需要添加 --add-module=/home/dawenzi/fastdfs-nginx-module-1.24/src 配

置

5  既是
6  ./configure \
7  ...
8  --add-module=/home/dawenzi/fastdfs-nginx-module-1.24/src

修改配置文件

1
  #创建文件夹
2   mkdir -P /opt/fastdfs/tracker /opt/fastdfs/storage /opt/fastdfs/nginx
  /opt/fastdfs/client

修改Tracker配置

1
  vim storage.conf
2  #所需修改配置
3  bind_addr = 0.0.0.0
4  base_path = /opt/fastdfs/tracker

启动Tracker

1
  /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
2
3  #新版
4  修改 /usr/lib/systemd/system/fdfs_trackerd.service 中的 PIDFile,格式为:
5  PIDFile=$base_path/data/fdfs_trackerd.pid
6  比如:
7  PIDFile=/home/dfs/data/fdfs_trackerd.pid
8  systemctl start fdfs_trackerd #启动tracker服务
9  systemctl restart fdfs_trackerd #重启动tracker服务
10  systemctl stop fdfs_trackerd #停止tracker服务
11  systemctl enable fdfs_trackerd  #开机自启动

修改storage配置

1
  cd /etc/fdfs/
2  vim storage.conf
3  #所需修改配置
4  bind_addr = 0.0.0.0
5  base_path = /opt/fastdfs/storage
6  store_path0 = /opt/fastdfs/storage
7  #此处注意 不能写 127.0.0.1 网络回环地址
8  tracker_server = 192.168.2.117:22122
9  # 配合nginx使用 需和nginx配置的端口一致
10  http.server_port = 8888
11
12  # 其它配置默认即可

启动 Storage

1
  /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
2
3  #新版
4  修改 /usr/lib/systemd/system/fdfs_storaged.service 中的 PIDFile,格式为:
5  PIDFile=$base_path/data/fdfs_storaged.pid
6  比如:
7  PIDFile=/home/dfs/data/fdfs_storaged.pid
8  systemctl start fdfs_storaged #启动storage服务
9  systemctl restart fdfs_storaged  #重动storage服务
10  systemctl stop fdfs_storaged  #停止动storage服务
11  systemctl enable fdfs_storaged   #开机自启动

配置客户端(Client)

1
  vim client.conf
2
3  base_path = /opt/fastdfs/client
4  tracker_server = 192.168.2.117:22122

配置nginx访问

1
  vim /etc/fdfs/mod_fastdfs.conf
2  #需要修改的内容如下
3  tracker_server=192.168.52.2:22122  # 服务器1
4  tracker_server=192.168.52.3:22122  # 服务器2
5  tracker_server=192.168.52.4:22122  # 服务器3
6  url_have_group_name=true
7  store_path0=/home/dfs
8  #配置nginx.config
9  vim /usr/local/nginx/conf/nginx.conf
10  #添加如下配置
11  server {
12      listen       8888;    ## 该端口为storage.conf中的http.server_port相同
13      server_name  localhost;
14      location ~/group[0-9]/ {
15          ngx_fastdfs_module;
16      }
17      error_page   500 502 503 504  /50x.html;
18      location = /50x.html {
19      root   html;
20      }
21  }
22

测试

1
  #客户端上传文件 完成后会出现文件的存储路径
2  fdfs_test fdfs_test /etc/fdfs/client.conf upload 20240821_154042.jpg
3  group1/M00/00/00/wKgCdWcPXFqAJ1QeAAHlS2JTOtU747.jpg
4  #将存储路径 加到nginx地址之后就可在浏览器访问
5  192.168.2.117:8888:group1/M00/00/00/wKgCdWcOecaAIDAlAAHlS2JTOtU012.jpg

常见报错解决

1
  https://www.cnblogs.com/xiaoshiwang/p/11453625.html
2
3  https://blog.csdn.net/willingtolove/article/details/115202419