CentOS下安装FastDFS及使用Nginx

FastDFS介绍

FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考了冗余备份,负载均衡,线性扩容等机制,并注重高可用,高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传,下载等服务

FastDFS架构包括Tracker server和Storage server。客户端请求Tracker server进行文件的上传,下载,通过Tracker server调度最终由Storage server完成文件上传和下载

Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将tracker称为追踪服务器或高度服务器

Storage sever作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storageserver没有实现自己的文件系统而是利用操作系统 的文件系统 来管理文件,可以将storage称为存储服务器

在这里插入图片描述
服务端两个角色:
Tracker:管理集群,tracker也可以实现集群,每个tracker节点地位平等,收集Storage集群的状态
Storage:实际保存Storage分为多个组,每个组之间保存的文件是不同的。每个组内部可以有多个成员,组成员内部保存的内容是一样的,组成员的地位是一致的,没有主从的概念

在这里插入图片描述
客户端上传文件后存储服务器将文件 ID 返回给客户端,此文件 ID 用于以后访问该文 件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。
例:group1/M00/00/00/wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz

group1 组名:文件上传后所在的 storage 组名称,在文件上传成功后有 storage 服务器返回, 需要客户端自行保存。 虚拟磁盘路径:storage 配置的虚拟路径,与磁盘选项 store_path*对应。如果配置了
/M00 : store_path0 则是 M00,如果配置了 store_path1 则是 M01,以此类推。
/00/00:数据两级目录:storage 服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据 文件。
/wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz文件名:与文件上传时不同。是由存储服务器根据特定信息生成,文件名包含:源存储 服务器 IP 地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。

在这里插入图片描述

1.下载

1.下载依赖组件且安装

1.Libfatscommon源码托管到github上,所以直接通过git clone将源码克隆到本地进行编译安装即可,如果系统中没有git就执行如下命令进行安装即可
yum install git-* -y

2.克隆源码
git clone https://github.com/happyfish100/libfastcommon.git --depth 1
在这里插入图片描述
3.编译
进入到刚下载的libfastcommon目录中编译
./make.sh
在这里插入图片描述
没有gcc则安装gcc
yum install gcc -y
在这里插入图片描述
安装成功后继续编译
./make.sh
在这里插入图片描述
4.安装
./make.sh install
在这里插入图片描述

2.安装FastDFS

1.同步骤1去github上克隆源码进行编译安装
git clone https://github.com/happyfish100/fastdfs.git --depth 1
在这里插入图片描述
cd fastdfs/

./make.sh && ./make.sh install
在这里插入图片描述
2.配置文件准备
  1.追踪器配置文件
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

  2.存储器配置文件
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

  3.客户端文件,测试用
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

  4.整合nginx需要的配置文件
cp /fastDFS/fastdfs/conf/http.conf /etc/fdfs #供nginx访问使用
cp /fastDFS/fastdfs/conf/mime.types /etc/fdfs/ #供nginx访问使用
在这里插入图片描述

3.安装Nginx支持插件

1.fastdfs-nginx-module
安装步骤同上,也是去github中克隆源码进行安装
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
在这里插入图片描述

2.复制插件配置文件到/etc/fdfs目录中
cp /soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
在这里插入图片描述

3.下载Nginx并在安装的时候使用上一步指定的插件
wget http://nginx.org/download/nginx-1.17.6.tar.gz
在这里插入图片描述

4.解压nginx
tar -zxvf nginx-1.17.6.tar.gz
在这里插入图片描述
5.切换到解压目录且指定nginx插件配置路径
cd nginx-1.17.6
./configure --add-module=/fastDFS/fastdfs-nginx-module/src/ (文件所在的位置)

6.编译安装
make
make install
在这里插入图片描述
如果报这个很有可能是nginx的插件没有安装,安装:
yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
安装后再验证
./configure --add-module=/fastDFS/fastdfs-nginx-module/src/
make
在这里插入图片描述
make install
在这里插入图片描述

4.配置文件

我这里机器的ip为192.168.42.66
1.配置tracker.conf
vim /etc/fdfs/tracker.conf

需要修改的内容如下

port=22122 # tracker服务器端口(默认22122,一般不修改)

base_path=/home/dfs # 存储日志和数据的根目录

启动tracker服务
/etc/init.d/fdfs_trackerd start
在这里插入图片描述
/etc/init.d/fdfs_trackerd start #启动tracker服务

/etc/init.d/fdfs_trackerd restart #重启动tracker服务

/etc/init.d/fdfs_trackerd stop #停止tracker服务

chkconfig fdfs_trackerd on #自启动tracker服务

2.配置storage.conf文件
vim /etc/fdfs/storage.conf
需要修改的内容

port=23000 # storage服务端口(默认23000,一般不修改)

base_path=/home/dfs # 数据和日志文件存储根目录

store_path0=/home/dfs # 第一个存储目录

tracker_server=192.168.42.66:22122 # tracker服务器IP和端口

http.server_port=8888 # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)

启动storage服务
/etc/init.d/fdfs_storaged start
在这里插入图片描述
/etc/init.d/fdfs_storaged start #启动storage服务

/etc/init.d/fdfs_storaged restart #重动storage服务

/etc/init.d/fdfs_storaged stop #停止动storage服务

chkconfig fdfs_storaged on #自启动storage服务

3.配置clint.conf
vim /etc/fdfs/client.conf

#需要修改的内容如下

base_path=/home/dfs

tracker_server=192.168.43.128:22122 #tracker服务器IP和端口

#保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz

fdfs_upload_file /etc/fdfs/client.conf 软件地址,例如我自己的
fdfs_upload_file /etc/fdfs/client.conf /fastDFS/nginx-1.17.6.tar.gz
在这里插入图片描述
报错没有文件夹,则创建后再运行
fdfs_upload_file /etc/fdfs/client.conf /fastDFS/nginx-1.17.6.tar.gz

group1/M00/00/00/wKgAZF7vHhmAQOXDAA_U1_e6-1g.tar.gz
在这里插入图片描述

4.配置nginx访问FastDFS配置文件信息

vim /etc/fdfs/mod_fastdfs.conf

需要修改的内容如下

tracker_server=192.168.42.66:22122 #tracker服务器IP和端口

url_have_group_name=true

store_path0=/home/dfs

#配置nginx.config

vim /usr/local/nginx/conf/nginx.conf
配置如下(注意空格的对齐)
在这里插入图片描述

server {
    listen       8888;    ## 该端口为storage.conf中的http.server_port相同
    server_name  localhost;
    location ~/group[0-9]/ {
        ngx_fastdfs_module;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
    }

启动nginx服务

/usr/local/nginx/sbin/nginx #启动
在这里插入图片描述
/usr/local/nginx/sbin/nginx -s reload #重启nginx

使用浏览器访问检测或者使用wget 命令访问检测
wget http://192.168.0.100:8888/group1/M00/00/00/wKgAZF7vHhmAQOXDAA_U1_e6-1g.tar.gz
注意自己的ip地址端口和上传文件后返回的信息
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值