FastDFS 伪分布安装

本文详细介绍如何在两节点集群环境中进行FastDFS伪分布安装,包括跟踪服务器与存储服务器的配置步骤,以及如何通过Nginx实现文件访问的优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FastDFS 伪分布安装

FastDFS 伪分布安装(环境准备):

集群(2 node):

跟踪服务器:100.98.22.253

存储服务器:100.98.22.254

安装包:

[html]   view plain  copy
  1. 1.fastdfs_client_java._v1.25.tar.gz  
  2. 2.fastdfs_client_v1.24.jar  
  3. 3.fastdfs-nginx-module_v1.16.tar.gz  
  4. 4.FastDFS_v5.05.tar.gz  
  5. 5.libfastcommon-master.zip  
  6. 6.nginx-1.6.2.tar.gz  

下载安装包可以从如下地址下载( 点击打开链接 )。 http://download.youkuaiyun.com/download/qq_18600061/10209954

FastDFS 安装所需依赖:

[html]   view plain  copy
  1. #FastDFS 依赖包  
  2. yum install gcc gcc-c++ make cmake automake autoconf libtool pcre* zlib openssl openssl-devel  

跟踪服务器安装:

1.上传FastDFS 安装包:

[html]   view plain  copy
  1. #上传FastDFS安装包253服务器  
  2. scp -r FastDFS_v5.05 root@100.98.22.253:/root/FastDFS_v5.05  

2.安装 libfastcommon-master

[html]   view plain  copy
  1. #进到上传目录  
  2. cd ~/FastDFS_v5.05/  
  3. #解压 libfastcommon-master.zip包  
  4. unzip libfastcommon-master.zip  
  5. #移动到 /usr/local/src目录  
  6. mv libfastcommon-master /usr/local/src  
  7. #进入 /usr/local/src/libfastcommon-master  
  8. cd /usr/local/src/libfastcommon-master  
  9. #编译 libfastcommon-master  
  10. ./make.sh  
  11. #安装 libfastcommon-master  
  12. ./make.sh install  
注意:libfastcommon 默认安装在(/usr/lib64/):

FastDFS 主程序设置的 lib 目录是/usr/local/lib,所以需要创建软链接.

[html]   view plain  copy
  1. #创建 libfastcommon软连接  
  2. ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so  
  3. ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so  
  4. #创建 libfdfsclient软链接(注意:这时候没有安装FastDFS_v5.05.tar.gz包会报错,先创建出来软连接)  
  5. ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so  
  6. ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so  

3.安装FastDFS文件:

[html]   view plain  copy
  1. cd FastDFS_v5.05/  
  2. #解压 FastDFS_v5.05.tar.gz 到 /usr/local/src/  
  3. tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/src/  

4.编译 FastDFS 和 安装

注意:启动脚本:

[html]   view plain  copy
  1. /etc/init.d/fdfs_storaged  
  2. /etc/init.d/fdfs_tracker  

配置文件(样例配置文件):

[html]   view plain  copy
  1. /etc/fdfs/client.conf.sample   
  2. /etc/fdfs/storage.conf.sample   
  3. /etc/fdfs/tracker.conf.sample  
命令工具在/usr/bin目录下:


5.修改 FastDFS 服务脚本中相应的命令路径,也就是把/etc/init.d/fdfs_storaged/etc/init.d/fdfs_tracker 两个脚本中的/usr/local/bin 修改成/usr/bin:

[html]   view plain  copy
  1. #编辑trackerd配置文件  
  2. vi /etc/init.d/fdfs_trackerd  
  3. #使用查找替换命令进统一修改:  
  4. %s+/usr/local/bin+/usr/bin  
  5. #编辑storaged配置文件  
  6. vi /etc/init.d/fdfs_storaged   
  7. #使用查找替换命令进统一修改:  
  8. %s+/usr/local/bin+/usr/bin  
6.配置FastDFS跟踪器服务脚本(100.98.22.25)
[html]   view plain  copy
  1. cd /etc/fdfs/  
  2. #复制tracker脚本  
  3. cp tracker.conf.sample tracker.conf  
  4. #编辑tracker脚本  
  5. vi /etc/fdfs/tracker.conf  

修改tracker.conf 22行把base_path=改成自己存储的目录

(其他参数保留默认配置,具体配置解释请参考官方文档点击打开链接) http://bbs.chinaunix.net/thread-1941456-1-1.html


7.创建 FastDFS跟踪器数据目录:

[html]   view plain  copy
  1. #创建数据存储 和 日志 目录  
  2. mkdir -p /fastdfs/tracker  
8.启动 和 停止、设置开机启动 跟踪服务器:

[html]   view plain  copy
  1. #启动 跟踪服务器  
  2. /etc/init.d/fdfs_trackerd start 或  
  3. service fdfs_trackerd start  
  4. #查看 跟踪服务器 是否启动  
  5. ps -ef | grep fdfs  
  6.   
  7. #关闭 跟踪服务器  
  8. etc/init.d/fdfs_trackerd stop 或  
  9. service fdfs_trackerd stot  
  10.   
  11. #设置 跟踪服务器 开机启动  
  12. vi /etc/rc.d/rc.local  
  13. 添加以下内容:  
  14. ## FastDFS Tracker   
  15. /etc/init.d/fdfs_trackerd start  

存储服务器安装:

1.配置FastDFS 存储器配置文件:

[html]   view plain  copy
  1. cd /etc/fdfs/  
  2. #复制storage脚本  
  3. cp storage.conf.sample storage.conf  
  4. #编辑 storage.conf  
  5. vi storage.conf  
  6.   
  7. #修改的内容如下:  
  8. base_path=/usr/local/fastdfs/storage  
  9. store_path0=/usr/local/fastdfs/storage   
  10. tracker_server=100.98.22.253:22122  

(其他参数保留默认配置,具体配置解释请参考官方文档点击打开链接) http://bbs.chinaunix.net/thread-1941456-1-1.html

2.创建存储服务器数据存储目录:

[html]   view plain  copy
  1. #创建数据储存目录  
  2. mkdir -p /usr/local/fastdfs/storage  
3.启动 和 停止、设置开机启动 存储服务器:

[html]   view plain  copy
  1. #启动 存储服务器  
  2. /etc/init.d/fdfs_storaged start 或  
  3. service fdfs_storaged start  
  4. #查看 存储服务器 是否启动  
  5. ps -ef | grep fdfs  
  6.   
  7. #关闭 存储服务器  
  8. etc/init.d/fdfs_storaged stop 或  
  9. service fdfs_storaged stot  
  10.   
  11. #设置 存储服务器 开机启动  
  12. vi /etc/rc.d/rc.local  
  13. 添加以下内容:  
  14. ## FastDFS Storage  
  15. /etc/init.d/fdfs_storaged start  

文件上传测试:

1.修改Tracker服务器(100.98.22.253)中的客服端配置文件

[html]   view plain  copy
  1. #复制配置文件  
  2. cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf   
  3. #编辑 client.conf  
  4. vi /etc/fdfs/client.conf  
  5.   
  6. #修改内容:  
  7. base_path=/usr/local/fastdfs/tracker  
  8. tracker_server=192.168.4.121:22122  
2.测试文件上传:( 上传成功会返回文件ID路径 )

[html]   view plain  copy
  1. #文件上传  
  2. /usr/bin/fdfs_upload_file /etc/fdfs/client.conf ~/FastDFS_v5.05/FastDFS_v5.05.tar.gz  

每个存储节点(100.98.22.254)上安装nginx:

1、fastdfs-nginx-module 作用说明
FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储,但是同组存储服务器之间需要进入
文件复制,有同步延迟的问题。假设 Tracker 服务器将文件上传到了 100.98.22.254,上传成功后文件 ID 已经返回给客户端。此时 FastDFS 存储集群机制会将这个文件同步到同组存储 100.98.22.255,在文件还 没有复制完成的情况下,客户端如果用这个文件 ID 在 100.98.22.255 上取文件,就会出现文件无法访问的 错误。而 fastdfs-nginx-module 可以重定向文件连接到源服务器取文件,避免客户端由于复制延迟导致的 文件无法访问错误。(解压后的 fastdfs-nginx-module 在 nginx 安装时使用)
2、解压 fastdfs-nginx-module
[html]   view plain  copy
  1. cd ~/FastDFS_v5.05  
  2. #解压到    /usr/local/src 目录  
  3. tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/src  
  4.   
  5. cd /usr/local/src/fastdfs-nginx-module/src  
  6. #修改 config 配置文件  
  7. vi config  
  8. CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/" 修改为:  
  9.      CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"  
  10. (<span style="color:#ff0000;">注意:这个路径修改是很重要的,不然在 nginx 编译的时候会报错的</span>)  

3.解压 Nginx 和 安装

[html]   view plain  copy
  1. cd ~/FastDFS_v5.05  
  2. #解压Nginx 到/usr/local/src  
  3. tar -zxvf nginx-1.6.2.tar.gz -C /usr/local/src  
  4. #  
  5. cd /usr/local/src/nginx-1.6.2  
  6. #执行添加fastDFS模块 到nginx中  
  7. ./configure --add-module=/usr/local/src/fastdfs-nginx-module/src  
  8. #编译 和 安装 nginx  
  9. make && make install  
  10. #复制mod_fastdfs.conf 到/etc/fdfs  
  11. cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/  
  12. #编辑 mod_fastdfs.conf文件  
  13. vi mod_fastdfs.conf  
  14.   
  15. #修改内容:  
  16. connect_timeout=10  
  17. tracker_server=100.98.22.253:22122  
  18. url_have_group_name = true  
  19. store_path0=/usr/local/fastdfs/storage  
4.复制 FastDFS 的部分配置文件到/etc/fdfs 目录

[html]   view plain  copy
  1. cd /usr/local/src/FastDFS/conf  
  2. cp http.conf mime.types /etc/fdfs/  
5.在/usr/local/fastdfs/storage 文件存储目录下创建软连接,将其链接到实际存放数据的目录
[html]   view plain  copy
  1. #创建软连接  
  2. ln -s /usr/local/fastdfs/storage/data/ /usr/local/fastdfs/storage/data/M00  
6.配置Nginx

[html]   view plain  copy
  1. 简洁版 nginx 配置样例:   
  2. user root;   
  3. worker_processes 1;   
  4. events {  
  5.     worker_connections  1024;  
  6. }  
  7. http {  
  8.     include       mime.types;  
  9.     default_type  application/octet-stream;  
  10.     sendfile        on;  
  11.     keepalive_timeout  65;  
  12.     server {  
  13.         listen       8888;  
  14.         server_name  localhost;  
  15.         location ~/group([0-9])/M00 {  
  16.             #alias /fastdfs/storage/data;  
  17.             ngx_fastdfs_module;  
  18.         }  
  19.         error_page   500 502 503 504  /50x.html;  
  20.         location = /50x.html {  
  21.             root html;   
  22.         }  
  23.     }   
  24. }  
7.启动nginx
[html]   view plain  copy
  1. /usr/local/nginx/sbin/nginx  

(重启 Nginx 的命令为:/usr/local/nginx/sbin/nginx -s reload)


8.通过浏览器访问测试是上传的文件

http://100.98.22.254:8888/group1/M00/00/00/ZGIW_lpfEpeAKJFqAAVFOL7FJU4.tar.gz

注意:千万不要使用 kill -9 命令强杀 FastDFS 进程,否则可能会导致 binlog 数据丢失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值