一、关于FastDFS

1、FastDFS简介

FastDFS(Fast Distributed File System)是一个开源的分布式文件系统,旨在解决大规模文件存储和访问的问题,例如图片、音视频等。它具有高性能、高可靠性和可扩展性的特点,被广泛应用于大规模的互联网应用中。

FastDFS由跟踪服务器(Tracker Server)和存储服务器(Storage Server)组成。跟踪服务器负责跟踪存储服务器的状态和负载情况,存储服务器负责实际的文件存储和访问。

2、FastDFS安装环境概览

环境与依赖库:

下载地址:

yum install gcc-c++
yum -y install libevent
wget https://github.com/happyfish100/libfastcommon/archive/refs/tags/V1.0.68.tar.gz
wget https://github.com/happyfish100/libserverframe/archive/refs/tags/V1.1.28.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/refs/tags/V6.9.5.tar.gz

二、安装

1、gcc-c++ 安装

yum install gcc-c++

 (一)centos7下如何搭建Nginx和FastDFS文件管理-环境搭建-LMLPHP

下载完后提示是否安装,选择:Y。安装成功出现:Complete!

2、libevent 安装

yum -y install libevent

(一)centos7下如何搭建Nginx和FastDFS文件管理-环境搭建-LMLPHP

安装成功出现:Complete!

3、libfastcommon 安装

 这里我放/home目录,安装以实际目录做调整

cd /home
## 下载
wget https://github.com/happyfish100/libfastcommon/archive/refs/tags/V1.0.68.tar.gz
## 解压
tar -zxvf V1.0.68.tar.gz
cd libfastcommon-1.0.68/
## 编译
./make.sh
## 安装
./make.sh install

4、libserverframe 安装

cd /home
## 下载
wget https://github.com/happyfish100/libserverframe/archive/refs/tags/V1.1.28.tar.gz
## 解压
tar -zxvf V1.1.28.tar.gz
cd libserverframe-1.1.28/
## 编译
./make.sh
## 安装
./make.sh install

5、FastDFS 安装

cd /home
## 下载
wget https://github.com/happyfish100/fastdfs/archive/refs/tags/V6.9.5.tar.gz
## 解压
tar -zxvf V6.9.5.tar.gz
cd fastdfs-6.9.5/
## 编译
./make.sh
## 安装
./make.sh install

安装成功后,/etc/fdfs/ 如下:

(一)centos7下如何搭建Nginx和FastDFS文件管理-环境搭建-LMLPHP

三、配置

1、创建存储目录相关路径

这里我还是放在/home目录,安装以实际目录做调整(文件夹用途:后续配置需要)

mkdir -p /home/fastdfs
mkdir -p /home/fastdfs/data
mkdir -p /home/fastdfs/tracker
mkdir -p /home/fastdfs/client

2、配置跟踪器(Tracker Server)

配置:

cd /etc/fdfs/
vim tracker.conf

#主要更改以下几个配置(其他详细参数可以自行查询资料)

#存储数据和日志文件的基本路径
base_path=/home/fastdfs/tracker
#Http服务端口(后续放开http访问需要)
http.server_port=80
#默认提供服务端口(可自行更改)
port=22122

 启动:

## 启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
## 查看状态
netstat -apn|grep fdfs

(一)centos7下如何搭建Nginx和FastDFS文件管理-环境搭建-LMLPHP

3、配置数据存储(Storage Server)

配置:

cd /etc/fdfs/
vim storage.conf

#主要更改以下几个配置(其他详细参数可以自行查询资料)

## storage存储data和log的跟路径
base_path=/home/fastdfs/data
## 默认组名
group_name=group1
## 默认端口,相同组的storage端口号必须一致
port=23000
## 配置一个存储路径
store_path_count=1
store_path0=/home/fastdfs/data
## 配置跟踪器IP和端口
tracker_server=服务器外网IP:22122

启动:

## 启动
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

## 查看进程
netstat -apn|grep fdfs

## 查看启动日志
tail -f /home/fastdfs/data/logs/storaged.log

## 查看是否在通讯(正常能看到 ACTIVE 标识)
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

(一)centos7下如何搭建Nginx和FastDFS文件管理-环境搭建-LMLPHP

4、配置客户端测试

 配置:

cd /etc/fdfs/
vim client.conf

#主要更改以下几个配置(其他详细参数可以自行查询资料)

## client数据和日志目录
base_path=/data/fastdfs/client
## 配置跟踪器IP和端口
tracker_server=服务器外网IP:22122

启动:

现在/home 目录下放一个图片,执行如下语句:

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/img1.png

返回如下信息(配置成功):

(一)centos7下如何搭建Nginx和FastDFS文件管理-环境搭建-LMLPHP

(一)centos7下如何搭建Nginx和FastDFS文件管理-环境搭建-LMLPHP

 走到这里基本上整个单服务器服务就搭建成功了,但是此时还无法http查看和下载。这里就需要借助fastdfs-nginx-module实现http查看。

四、配置nginx模块实现http方式打开、下载图片

1、相关依赖安装

## pcre-devel 环境
yum install -y pcre pcre-devel
## zlib-devel 环境
yum install -y zlib zlib-devel
## openssl-devel 环境
yum install -y openssl openssl-devel
## unzip 解压缩
yum install -y unzip zip

2、下载解压Nginx

cd /home
wget http://nginx.org/download/nginx-1.15.2.tar.gz
tar -zxvf nginx-1.15.2.tar.gz

3、下载解压Fast-Nginx

cd /home
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/refs/tags/V1.23.zip
mv V1.23.zip fast-nginx.zip
unzip fast-nginx.zip

## 安装完后需要把mod_fastdfs.conf拷贝到/etc/fdfs目录下
cp /home/fastdfs-nginx-module-1.23/src/mod_fastdfs.conf /etc/fdfs

## 对刚刚拷贝的mod_fastdfs.conf文件进行修改:

vim /etc/fdfs/mod_fastdfs.conf

## 主要关注以下配置

base_path=/home/fastdfs/data  #保存日志目录
tracker_server=服务器外网IP:22122 #tracker服务器的IP地址以及端口号
url_have_group_name = true #文件 url 中是否有 group 名
store_path0=/home/fastdfs/data   #存储路径

4、配置安装Nginx、Fast-Nginx

cd /home/nginx-1.15.2
## 注入配置
./configure --add-module=/home/fastdfs-nginx-module-1.23/src
## 编译并安装
make && make install

##复制http.conf和mime.types至 /etc/fdfs/目录
cp /home/fastdfs-6.9.5/conf/http.conf /etc/fdfs/
cp /home/fastdfs-6.9.5/conf/mime.types /etc/fdfs/

验证是否安装成功,执行下面命令,看注入地址是否成功。

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

(一)centos7下如何搭建Nginx和FastDFS文件管理-环境搭建-LMLPHP

配置Nginx代理地址

cd /usr/local/nginx/conf/
vim nginx.conf

## 配置内容如下(url_have_group_name = true为false的时候需要更改)
server {
    listen       80;
    
    location ~/group([0-9])/M00 {
        root /data/fastdfs/data;
        ngx_fastdfs_module;
    }
}

5、见证结束时刻

NGINX服务启动。

## 启动
/usr/local/nginx/sbin/nginx
## 停止
/usr/local/nginx/sbin/nginx -s stop
## 重启
/usr/local/nginx/sbin/nginx -s reload

访问方式:http://互联网Ip地址/group1/M00/00/00/CIbAYmStEtGAPx2FAAAtNms4POE783.png

07-11 16:38