linux怎么打开无线的dfs,Linux之Fastdfs

Fastdfs

简介

FastDFS 是用 c 语言编写的一款开源的分布式文件系统。

FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标

使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

架构

Fastdfs由两部件组成

Tracker server

其主要用来做负载均衡以及调度

客户端通过Tracker server的策略找到Storage server进行文件的上传下载

Storage server

客户端通过Tracker server上传的文件最终保存到Storage server中

Storage server没有自己的文件系统而是利用操作系统进行文件存储

abc318640d050957c762771a11557ab2.png

服务端角色

Tracker

其可以组件集群用来检测 每个Tracker节点地位平等 通过Tracker检测Storage节点状态

Storage

Storage之间可以组件集群 集群可以分多个组 每个组之间的信息不同 但是组内成员的信息相同 组成员地位一致无主从概念之分

Fastdfs交互信息

上传文件

客户端上传文件给服务器之后 服务器返回一个ID给客户端 客户端通过ID中的文件索引来访问存储在服务端的数据

文件索引:组号 虚拟磁盘路径 数据两级目录 文件名

组名:文件上传后所在的 storage 组名称,在文件上传成功后有 storage 服务器返回, 需要客户端自行保存。

虚拟磁盘路径:storage 配置的虚拟路径,与磁盘选项 store_path*对应。如果配置了 store_path0 则是 M00,如果配置了 store_path1 则是 M01,以此类推。

数据两级目录:storage 服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据 文件。

文件名:与文件上传时不同。是由存储服务器根据特定信息生成,文件名包含:源存储 服务器 IP 地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。

7f12667a8ffef19d019d15b9771485e6.png

文件下载

客户端通过tracker端返回的storage的IP去寻找storage

通过生成的ID去向服务端进行文件查找

服务端通过ID返回对应的数据

c8bbeb26caaa188bec715127b5b1661f.png

Fastdfs配置

依赖包下载

[root@SR~]# wget -c http://nginx.org/download/nginx-1.17.7.tar.gz # 下载nginx

[root@SR~]# wget -c "https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz" -O fastdfs-6.06.tar.gz # 下载fastdfs

[root@SR~]# wget -c "https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz" -O fastdfs-nginx-module-1.22.tar.gz # 下载 fastdfs-nginx-module

[root@SR~]# wget -c "https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz" -O libfastcommon-1.0.43.tar.gz # 下载 libfastcommon

[root@SR ~]# yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel # 下载编译包

解压

[root@SR ~]# tar -xf fastdfs-6.06.tar.gz

[root@SR ~]# tar -xf fastdfs-nginx-module-1.22.tar.gz

[root@SR ~]# tar -xf libfastcommon-1.0.43.tar.gz

[root@SR ~]# tar -xf nginx-1.17.7.tar.gz

编译安装libfastcommon

[root@SR ~]# cd libfastcommon-1.0.43/

[root@SR libfastcommon-1.0.43]# ./make.sh && ./make.sh install # 编译安装

[root@SR libfastcommon-1.0.43]# ls /usr/lib64/ | grep libfastcommon # 检测安装是否成功

[root@SR libfastcommon-1.0.43]# ls /usr/lib/ | grep libfastcommon

6b22ebc8e420ca538fb972b18468ed89.png

配置fastdfs

编译安装

[root@SR fastdfs-6.06]# cd fastdfs-6.06/

[root@SR fastdfs-6.06]# ./make.sh && ./make.sh install

[root@SR fastdfs-6.06]# ls /usr/bin|grep fdfs

1ace2830b4af279dcd2059ba66a51f4b.png

启用配置文件

[root@SR fdfs]# cd /etc/fdfs/ # 切换到fdfs目录

# 配置文件做备份

[root@SR fdfs]# cp client.conf.sample client.conf

[root@SR fdfs]# cp storage.conf.sample storage.conf

[root@SR fdfs]# cp tracker.conf.sample tracker.conf

修改tracker.conf配置文件

[root@SR fdfs]# mkdir -p /usr/bin/python3.6/fastdfs/tracker

[root@SR fdfs]# vim tracker.conf

base_path=/usr/bin/python3.6/fastdfs/tracker # 修改该目录为上述对应tracker目录

启动tracker

[root@SR fdfs]# /etc/init.d/fdfs_trackerd start # 启动服务

[root@SR fdfs]# ps -ef|grep fdfs # 检测启动状态

修改storage.conf配置文件

[root@SR fdfs]# mkdir -p /usr/bin/python3.6/fastdfs/storage

[root@SR fdfs]# vim storage.conf

base_path=/usr/bin/python3.6/fastdfs/storage

store_path0=/usr/bin/python3.6/fastdfs/storage

tracker_server=192.168.1.104:22122

启动storage

[root@SR fdfs]# /etc/init.d/fdfs_storaged start

[root@SR fdfs]# ps -ef | grep fdfs

05c58505ccf4dd18d818848ec2541e0b.png

修改client.conf配置文件

[root@SR fdfs]# vim client.conf

base_path=/usr/bin/python3.6/fastdfs/tracker

tracker_server=192.168.1.104:22122

使用方式

[root@SR ~]# fdfs_upload_file /etc/fdfs/client.conf /root/springboot.jpg

7bb22f08b0ed02b2c9a2d49e564127a6.png

nginx

安装依赖包

[root@SR ~]# yum -y install pcre pcre-devel

添加模块

[root@SR ~]# cd nginx-1.17.7/

[root@SR nginx-1.17.7]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module

fastdfs-nginx-module-1.22配置

[root@SR ~]# cd /root/fastdfs-nginx-module-1.22/src/

[root@SR src]# cp config config.bak #备份配置问

修改配置文件

[root@SR src]# vim config

:%s+/usr/local+/usr # 将config文件中的/usr/local替换成/usr

nginx添加模块

[root@SR nginx-1.17.7]# ./configure --add-module=/root/fastdfs-nginx-module-1.22/src/ # fastdfs-nginx-module-1.22/src 中src所在的路径

[root@SR nginx-1.17.7]# make && make install # 编译安装

修改fastdfs-ngin-module中的配置文件

[root@SR nginx-1.17.7]# cp /root/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/

[root@SR nginx-1.17.7]# vim /etc/fdfs/mod_fastdfs.conf

connect_timeout=10

tracker_server=192.168.1.104:22122

url_have_group_name = true

store_path0=/usr/bin/python3.6/fastdfs/storage

复制fastdfd

[root@SR ~]# cp /root/fastdfs-6.06/conf/http.conf /etc/fdfs/

[root@SR ~]# cp /root/fastdfs-6.06/conf/mime.types /etc/fdfs/

修改nginx配置文件

[root@SR fdfs]# cd /usr/local/nginx/conf/

[root@SR conf]# cp nginx.conf nginx.conf.bak # 备份配置文件

[root@SR conf]# vim nginx.conf # 修改配置文件

server {

listen 80;

server_name 192.168.1.104;

location ~/group([0-9]) {

root /fastdfs/storage/data;

ngx_fastdfs_module;

}

}

[root@SR ~]# /usr/local/nginx/sbin/nginx # 启动nginx

设置开机启动服务

[root@SR fdfs]# vim /etc/rc.d/rc.local

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

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

/usr/local/nginx/sbin/nginx

[root@SR ~]# chmod +x /etc/rc.d/rc.local # 给予执行权限

b0b2f1e55e494fad219bb62b7df73538.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值