centos7搭建分布式文件服务器fastDFS 5

感谢博友的搭建资料提供。https://www.cnblogs.com/guigujun/p/7804670.html

搭建工具的准备

  • 原始作者的GitHub地址:https://github.com/happyfish100

  • 注意,软件之间的版本会有差异。所以。从百度网盘下载已有的安装工具。亲测有效。

  • 链接:https://pan.baidu.com/s/1ni3t5KESe0qmKFPaXYKLQg
    提取码:z1q3。
    在这里插入图片描述

  • centos7安装完成,并且网络正常。

  • 查看ip命令:ip addr

    注意:最好ip固定不变,以免修改ip麻烦。

CentOS7 FastDFS搭建

1、文件上传

将下载好的5个工具压缩包上传到centos系统的任意位置。root根目录即可。

2、安装 libfastcommon

  • 用yum安装gcc依赖环境
    yum -y install gcc-c++
    
  • 根目录解压libfastcommon-master.zip
    unzip libfastcommon-master.zip
    
  • 进入解压的目录查看目录结构
    cd /root/libfastcommon-master/
    ll
    

在这里插入图片描述

  • 分别执行命令进行安装。(在文件的安装目录下执行)
    ./make.sh
    ./make.sh install
    
  • 安装成功后,libfastcommon默认会被安装到/usr/lib64/libfastcommon.so。但是FastDFS的主程序却在/usr/local/lib目录下
    这个时候我们就要建立一个软链接了,实际上也相当于windows上的快捷方式。
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
    ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
    

3、安装 FastDFS

  • 根目录解压 fastdfs-master.zip
    unzip fastdfs-master.zip
    
  • 进入解压的目录查看目录结构
    cd /root/fastdfs-master/
    ll
    

在这里插入图片描述

  • 分别执行命令进行安装。(在文件的安装目录下执行)
    ./make.sh
    ./make.sh install
    
  • 如果没有报错。安装成功之后查看安装目录:
    cd /etc/fdfs/
    ll
    

在这里插入图片描述

  • 在该安装目录下复制该三个文件,去掉.sample
    cp client.conf.sample client.conf
    cp storage.conf.sample storage.conf
    cp tracker.conf.sample tracker.conf
    

4、安装 tracker

  • 新建目录,用来保存tracker的data和log 。根据个人习惯,但是后期配置需要该目录的路径。
    mkdir /opt/fastdfs_tracker
    
  • 配置 tracker
    1. 打开配置文件 tracker.conf
      vim /etc/fdfs/tracker.conf
      
    2. 修改如下数据。保存
      1.disabled=false 
      2.port=22122 #默认端口号 
      3.base_path=/opt/fastdfs_tracker #刚刚创建的目录 
      4.http.server_port=8080 #默认端口是8080
      5.bind_addr= 0.0.0.0 监听地址
      
  • 启动 tarcker
    service fdfs_trackerd start
    
    启动成功后可以看到:
    在这里插入图片描述
  • 进入刚刚创建的fastdfs_tracker目录,发现目录中多了data和log两个目录
    cd /root/opt/fastdfs_tracker/
    ll
    

在这里插入图片描述

  • 给tracker加入开机启动
    echo "service fdfs_trackerd start" |tee -a /etc/rc.d/rc.local
    
  • 查看一下tracker的端口监听情况
    netstat -unltp|grep fdfs
    

在这里插入图片描述
端口22122成功监听。

5、安装 storage

  • 新建目录,两个目录:fastdfs_storage_data、fastdfs_storage
    mkdir /opt/fastdfs_storage_data
    mkdir /opt/fastdfs_storage
    

在这里插入图片描述

  • 修改 storage.conf
    vi /root/etc/fdfs/storage.conf
    
    1.disabled=false 
    2.group_name=group1 #组名,根据实际情况修改 
    3.port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致 
    4.base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录 
    5.store_path_count=1 #存储路径个数,需要和store_path个数匹配 
    6.store_path0=/opt/fastdfs_storage_data #实际文件存储路径 
    7.tracker_server=10.207.130.187:22122 #我CentOS7的ip地址 
    8.http.server_port=8888 #设置http端口号
    
  • 修改保存后创建软引用
    ln -s /usr/bin/fdfs_storaged /usr/local/bin
    
  • 启动storage

    service fdfs_storaged start
    
  • 设置storage开机启动
    echo "service fdfs_storaged start" |tee -a /etc/rc.d/rc.local
    
  • root目录下查看服务是否启动
    netstat -unltp | grep fdfs
    

在这里插入图片描述

  • 校验整合

    到这里,fastdfs的东西都已安装完成,最后我们还要确定一下,storage是否注册到了tracker中去。
    查看命令:

    /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
    

    如图所示及成功:
    在这里插入图片描述

6、客户端测试

  • 解压客户端
    unzip fastdfs-client-java-master.zip
    
  • 修改客户端的配置文件
    vi /etc/fdfs/client.conf
    
    base_path=/opt/fastdfs_tracker #tracker服务器文件路径
    tracker_server=10.207.130.187:22122 #tracker服务器IP地址和端口号
    http.tracker_server_port=8080 # tracker 服务器的 http端口号,必须和tracker的设置对应起来
    
  • 模拟文件上传
    /usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /root/1.jpg  #这后面放的是图片的位置
    
    上传成功返回图片的路径:
    在这里插入图片描述
    组名:group1
    磁盘:M00
    目录:00/00
    文件名称:Cs-Cu11NFRyAT1PGAADqJ2jztps983.jpg
  • 上传的图片会被上传到我们创建的storage_data目录下
    cd /opt/fastdfs_storage_data/data/
    ls
    ls 00/
    ls 00/00/
    

在这里插入图片描述
实际文件存储路径下有创建好的多级目录。data下有256个1级目录,每级目录下又有256个2级子目录,总共65536个文件,新写的文件会以hash的方式被路由到其中某个子目录下,然后将文件数据直接作为一个本地文件存储到该目录中。

7、安装 nginx,访问服务器中的图片

如果想要访问上传的文件,就必须结合nginx来实现。

  • 安装nginx所需的依赖lib
    yum -y install pcre pcre-devel  
    yum -y install zlib zlib-devel  
    yum -y install openssl openssl-devel
    
  • 安装 nginx 并 添加 fastdfs-nginx-module
    1. root目录下解压 nginx ,和 fastdfs-nginx-module
      tar -zxvf nginx-1.10.3.tar.gz
      unzip fastdfs-nginx-module-master.zip
      
    2. 解压后进入nginx目录编译安装nginx,并添加 fastdfs-nginx-module
      ./configure --prefix=/usr/local/nginx --add-module=/root/fastdfs-nginx-module-master/src    #解压后fastdfs-nginx-module所在的位置
      
    3. 如果上述正确,没报错。进行编译和安装
      make
      make install
      
  • 查看nginx的安装目录
    cd /usr/local/nginx/
    ll
    

在这里插入图片描述

  • 配置storage nginx
    1. 修改nginx.conf
      vi /usr/local/nginx/conf/nginx.conf
      
    2. 修改监听端口 listen 9991, 并且新增 location
      server {
              listen       9991;
              server_name  localhost;
              
      		# 新增该location
              location ~/group1/M00 {
                  root /opt/fastdfs_storage/data;
                  ngx_fastdfs_module;
              }
      }
      
    3. 进入FastDFS安装时的解压过的目录,将 http.conf 和 mime.types拷贝到 /etc/fdfs 目录下
      cd /root/fastdfs-master/conf/
      cp http.conf  mime.types  /etc/fdfs/
      cp mime.types  /etc/fdfs/
      
    4. 把 fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf 也拷贝到 /etc/fdfs目录下
      cd /root/fastdfs-nginx-module-master/src/
      cp mod_fastdfs.conf  /etc/fdfs/
      
    5. 对刚刚拷贝的mod_fastdfs.conf文件进行修改:
      vi /etc/fdfs/mod_fastdfs.conf
      
      base_path=/opt/fastdfs_storage  #保存日志目录
      tracker_server=10.207.130.187:22122 #tracker服务器的IP地址以及端口号
      storage_server_port=23000 #storage服务器的端口号
      url_have_group_name = true #文件url中是否有group名
      store_path0=/opt/fastdfs_storage_data   #存储路径
      group_count = 1 #设置组的个数
      
      #在文件最后添加[group1]
      [group1]
      group_name=group1
      storage_server_port=23000
      store_path_count=1
      store_path0=/opt/fastdfs_storage_data
      
    6. 保存退出文件后,创建M00至storage存储目录的符号连接
      ln  -s  /opt/fastdfs_storage_data/data/ /opt/fastdfs_storage_data/data/M00
      
    7. 启动 nginx
      /usr/local/nginx/sbin/nginx
      
      启动成功输入:curl localhost:9991。看是否出现nginx的欢迎界面
      在这里插入图片描述
  • 配置 tracker nginx
    1. 在nginx.cfg里在添加一个虚拟主机
      vi /root/usr/local/nginx/conf/nginx.cfg
      
      upstream fdfs_group1 {
              server 127.0.0.1:9991;
          }
         server {
              listen       80;
              server_name  localhost;
             location /group1/M00 {
                  proxy_pass http://fdfs_group1;
              }
            error_page   500 502 503 504  /50x.html;
              location = /50x.html {
                  root   html;
              }
          }
      
    2. 重启 nginx
      /usr/local/nginx/sbin/nginx -s reload
      
  • HTTP测试
    浏览器访问原先上传过的图片:
    http://10.207.130.187:9991/group1/M00/00/00/Cs-Cu11NFRyAT1PGAADqJ2jztps983.jpg
    在这里插入图片描述

如果服务器的ip改变的操作

操作步骤

  1. 修改 storage 的配置文件

    vi /root/etc/fdfs/storage.conf
    

    修改:tracker_server=10.207.130.192:22122 #改变的ip地址

  2. 修改客户端的配置文件

    vi /etc/fdfs/client.conf
    

    修改:tracker_server=10.207.130.192:22122 #tracker变化的服务器IP地址和端口号

  3. 修改 mod_fastdfs.conf 配置文件

    vi /etc/fdfs/mod_fastdfs.conf
    

    修改:tracker_server=10.207.130.192:22122 #tracker变化的服务器的IP地址以及端口号

  4. 重启虚拟机系统,启动tracker、storaged 和 nginx

    service fdfs_trackerd start  #启动tracker
    service fdfs_storaged start  #启动storaged
    /usr/local/nginx/sbin/nginx  #启动nginx
    
  5. 使用新ip地址即可访问上传的文件

    http://10.207.130.192:9991/group1/M00/00/00/Cs-CwF1NYPuAYaZvAAVIXJRjxdQ957.jpg

服务器重启了之后的操作

使用脚本让 fastDFS 开机自动重启;

service fdfs_trackerd start  #启动tracker
service fdfs_storaged start  #启动storaged
/usr/local/nginx/sbin/nginx  #启动nginx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值