FastDFS双机热备的实现

采用服务器192.168.14.132和192.168.14.133,以下操作均需在两台服务器进行

1.安装前需已安装好gcc、pcre 、zlib 、openssl,有网环境执行以下命令:

yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel

离线安装请参考点击查看

2.安装libfastcomman

tar -zxvf V1.0.7.tar.gz

cd  /libfastcommon-1.0.7

./make.sh

./make.sh  install

3.创建软连接

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

4.安装FastDFS

cd fastdfs

./make.sh

./make.sh install

5.安装好后可在/etc/fdfs/查看到以下文件:

client.conf.sample  storage.conf.sample  tracker.conf.sample

6.配置路径

mkdir /opt/fastdfs
mkdir /opt/fastdfs/fastdfs_storage
mkdir /opt/fastdfs/fastdfs_storage_data
mkdir /opt/fastdfs/fastdfs_tracker

7.复制配置文件

cd /etc/fdfs/
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf

8.修改/etc/fdfs/tracker.conf

base_path=/opt/fastdfs/fastdfs_tracker


#如果需要从源文件保存的storage下载文件请修改以下配置并重启
download_server=1

9.启动tracker

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

可用netstat -unltp|grep fdfs检测是否启动成功

10.编辑/etc/fdfs/storage.conf

group_name=group1                      #组名,根据实际情况修改 

base_path=/opt/fastdfs/fastdfs_storage #设置storage数据文件和日志目录 

store_path0=/opt/fastdfs/fastdfs_storage_data #实际文件存储路径

store_path_count=1 存储路径个数,需要和store_path个数匹配 

tracker_server=192.168.4.132:22122 #tarcker_server 服务地址
tracker_server=192.168.4.133:22122 #tarcker_server 服务地址
http.server_port=80 #设置http 端口号  这里需与nginx中的端口号一致

11.启动storage

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

12.编辑/etc/fdfs/client.conf

base_path=/opt/fastdfs/fastdfs_tracker  #tracker服务器文件路径

tracker_server=192.168.14.132:22122
tracker_server=192.168.14.133:22122

13.检测是否启动成功

netstat -unltp|grep fdfs

出现下图则表示启动成功:

查看运行状态:

fdfs_monitor /etc/fdfs/client.conf

#以下为状态说明
#FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器
#FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到同步已有数据的源服务器
#FDFS_STORAGE_STATUS:SYNCING :同步中
#FDFS_STORAGE_STATUS:DELETED :已删除,该服务器从本组中摘除
#FDFS_STORAGE_STATUS:OFFLINE :离线
#FDFS_STORAGE_STATUS:ONLINE :在线,尚不能提供服务
#FDFS_STORAGE_STATUS:ACTIVE :在线,可以提供服务

14.测试,首先在192.168.4.131服务器/home路径下放一张图片1.png,执行

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/1.png

出现下图说明配置成功

15.安装fastdfs-nginx-module

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz 
cd fastdfs-nginx-module/src/
vi config

将里面的/usr/local/全部替换为/usr/

16.切换至cd /usr/local/nginx-1.12.2/(若已安装过nginx则往下走,未安装请参考linux下安装Nginx,解压Nginx后执行以下语句)

./configure --prefix=/usr/local/nginx-1.12.2/ --add-module=../fastdfs-nginx-module/src/
make
make install

再执行以下代码,查看是否报错

/usr/local/nginx-1.12.2/sbin/nginx -V

17.拷贝mod_fastdfs.conf文件至/etc/fdfs/

cd fastdfs-nginx-module/src/

cp mod_fastdfs.conf /etc/fdfs/

18.编辑/etc/fdfs/mod_fastdfs.conf

connect_timeout=10

tracker_server=192.168.31.32:22122        //修改为 Tracker 服务的地址和端口
tracker_server=192.168.31.33:22122

storage_server_port=23000            //默认就是2300,不用做修改

url_have_group_name=true            //允许通过 http 服务访问
store_path0=/opt/fastdfs/fastdfs_storage_data
    //路径一定是服务器中建立的存储数据的路径,不是 storage  服务的路径
group_name=group1
group_count=0                //只有一个 group 就填0,否则按实际的 group 数量来填写

19.将 /usr/local/FastDFS/conf/目录下的http.conf和mime.types两个文件复制到/etc/fdfs/目录下

cd /usr/local/FastDFS/conf/
cp http.conf mime.types /etc/fdfs/

20.建立软链接

ln -s /opt/fastdfs/fastdfs_storage_data/data/  /opt/fastdfs/fastdfs_storage_data/data/M00

21.编辑 /usr/local/nginx-1.12.2/conf/nginx.conf

#在server节点前增加
upstream fdfs_group1 {
    server 192.168.14.132:22122 ;
    server 192.168.14.133:22122 ;
}


#在server节点中增加
location /group1/M00 {
    root /opt/fastdfs/fastdfs_storage_data/; 
	proxy_pass http://fdfs_group1;             
    ngx_fastdfs_module; 
}

22.启动Nginx

mkdir /opt/fastdfs/fastdfs_storage_data/data/group1
cd /usr/local/nginx-1.12.2/sbin/
./nginx -s reload

#若以上语句未能成功启动nginx,则指定配置文件启动
/usr/local/nginx-1.12.2/sbin/nginx -c /usr/local/nginx-1.12.2/conf/nginx.conf

23.测试,可用第14步的方法分别在192.168.14.132以及192.168.14.133各自上传一张不同的图,可用http://其中一台服务器IP/group1/M00/00/00/wKgOhWC-ssKALIw9AACjDXcNxJQ810_big.png(后面这串参考14步生成的路径)都可查看到那2张图片,图片会自动同步

24.fastDFS和Nginx开机自启,编辑/etc/rc.d/rc.local,在底部加入:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart


#nginx自启
/usr/local/nginx-1.12.2/sbin/nginx

保存退出后,chmod +x /etc/rc.d/rc.local

本文参考了很多FastDFS+Nginx双机热备环境搭建笔记_congratution的专栏-CSDN博客_fastdfs双机集群,感谢原作者

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FastDFS是一个开源的分布式文件系统,它由跟踪服务器(Tracker Server)和存储服务器(Storage Server)组成。它的底层实现原理主要包括文件上传、文件下载和文件删除三个过程。 1. 文件上传: - 客户端将文件分割成固定大小的块,并将这些块分别上传到不同的存储服务器上。 - 跟踪服务器记录文件的元数据信息,包括文件名、文件大小、存储服务器地址等。 - 存储服务器将文件块保存在本地,并返回文件块的索引信息给跟踪服务器。 2. 文件下载: - 客户端向跟踪服务器发送文件下载请求,跟踪服务器根据文件名查找对应的存储服务器地址。 - 客户端根据存储服务器地址连接到对应的存储服务器,并发送文件块的索引信息。 - 存储服务器根据索引信息读取文件块,并将文件块返回给客户端,客户端将多个文件块合并成完整的文件。 3. 文件删除: - 客户端向跟踪服务器发送文件删除请求,跟踪服务器根据文件名查找对应的存储服务器地址。 - 跟踪服务器通知存储服务器删除对应的文件块。 - 存储服务器删除文件块,并将删除成功的结果返回给跟踪服务器。 FastDFS通过将文件分割成块并分布式存储在多个存储服务器上,实现了高可用性和可扩展性。同时,通过跟踪服务器记录文件的元数据信息,实现了快速查找和定位文件的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值