一、关于FastDFS

1、FastDFS简介

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

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

2、FastDFS安装环境概览

环境与依赖库:

名称 说明
centos 7.x
libfastcommon FastDFS分离出的公用函数库                V1.0.68
libserverframe FastDFS分离出的网络框架                    V1.1.28
FastDFS FastDFS主体程序                                   V6.9.5
fastdfs-nginx-module FastDFS和nginx的关联模块(解决http访问文件)
nginx 1.15.2
gcc-c++ C依赖环境(FastDFS 采用 C 语言开发)
libevent  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++

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

2、libevent 安装

yum -y install libevent

安装成功出现: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/ 如下:

三、配置

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

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

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

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

走到这里基本上整个单服务器服务就搭建成功了,但是此时还无法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

配置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

(一)centos7下如何搭建Nginx和FastDFS文件管理-环境搭建的更多相关文章

  1. Linux系统:centos7下搭建Nginx和FastDFS文件管理中间件

    本文源码:GitHub·点这里 || GitEE·点这里 一.FastDFS简介 1.基础概念 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件上传 ...

  2. centos7下Elasticsearch5.2.2和head 插件环境搭建

    ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进行数据索引 ...

  3. centos7 下 安装部署nginx

    centos7 下 安装部署nginx 1.nginx安装依赖于三个包,注意安装顺序 a.SSL功能需要openssl库,直接通过yum安装: #yum install openssl b.gzip模 ...

  4. nginx+uwsgi+django开发环境搭建

    Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...

  5. Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试

    Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...

  6. (一)windows7下solr7.1.0默认jetty服务器环境搭建

    windows7下solr7.1.0默认jetty服务器环境搭建 1.下载solr solr7官网地址:http://lucene.apache.org/solr/ jdk8官网地址:http://w ...

  7. win7下搭建nginx+php的开发环境

    本来在win7下用的是IIS做web服务器,但近来因项目需求的原因,需要在服务器遇到404错误的时候自动做转向(不是在客户端的跳转,而是在服务器收到客户端请求去某目录下读取文件返回时,如果发现目录或目 ...

  8. win7下搭建nginx+php的开发环境(转)

    在win7下用的是IIS做web服务器,但近来因项目需求的原因,需要在服务器遇到404错误的时候自动做转向(不是在客户端的跳转,而是在服务器收到客户端请求去某目录下读取文件返回时,如果发现目录或目录下 ...

  9. linux下nginx+php+mysql 自助环境搭建

    ++++++++++++++++++++++++++++++++++++++++++++++linux下nginx+php+mysql环境搭建+++++++++++++++++++++++++++++ ...

  10. centos7 下 yum 安装Nginx

    centos7 下 yum 安装和配置 Nginx 添加yum源 Nginx不在默认的yum源中,可以使用epel或者官网的yum源,这里使用官网的yum源 rpm -ivh http://nginx ...

随机推荐

  1. day31:socketserver&hashlib&hmac&TCP登录

    目录 1.socketserver:实现TCP协议下Server端的并发 2.hashlib模块 3.hashlib应用:文件校验 4.hmac应用:服务器的合法性校验 5.TCP登录程序 1.soc ...

  2. day17:内置方法&math模块&random模块&pickle模块

    内置方法 1.round:四舍五入 正常遵守四舍五入,但在n.5结构中,n为偶数则舍去,n为奇数则进一. res1 = round(4.51) # 5 res2 = round(4.5) # 4 re ...

  3. RDIFramework.NET开发框架用户字典助力Saas数据字典应用

    1.概述 在某些特殊应用(如:SaaS)中,系统内置的字典项有可能不能完全满足用户的需求,他们需要自己定义相应的数据项,我们框架完全支持这类应用,用户字典管理主界面如下图所示. 2.功能展示 需要说明 ...

  4. C++ 基于Capstone实现反汇编器

    Capstone是一个反汇编框架,提供了一个简单.轻量级的API接口,可透明地处理大多数流行的指令体系,包括x86/x86-64.ARM及MIPS等.Capstone支持C/C++和Python,并且 ...

  5. Linux安装Net7SDK运行Net项目

    Linux安装Net7SDK运行Net项目 安装Net7 SDK 1.安装sdk依赖环境 wget https://packages.microsoft.com/config/ubuntu/20.04 ...

  6. Linux驱动开发环境-Kernel源码安装

    开如学习LDD3这本书. 我是在Fedora18上学习的,但我安装的这个版本,/usr/src/下面没有相应的源代码. 自己从KERNEL网站下载相应版本源码(安装驱动有问题) 于是从kernel的网 ...

  7. Protobuf编码规则

    支持类型 该表显示了在 .proto 文件中指定的类型,以及自动生成的类中的相应类型: .proto Type Notes C++ Type Java/Kotlin Type[1] Java/Kotl ...

  8. 【易车网实例】x-sign逆向保姆级教程

    易车号x-sign逆向 前言 许多网站都有反爬机制,x-sign加密就是许多反爬虫机制的其中一种,本次将以易车号作为目标进行演示. 方法仅供学习参考. 链接:https://hao.yiche.com ...

  9. #Python pandas库,读取模块,代码笔记

    日常数据清洗中,利用python清洗的第一步就是读取对应文件,今天一起复盘一下数据读取环节的常规操作. csv和xlsx格式读取类似,所以用csv做案例 X-MIND图

  10. 文心一言 VS chatgpt (16)-- 算法导论4.1 1~2题

    一.当A的所有元素均为负数时,FIND-MAXIMUM-SUBARRAY返回什么? 文心一言: 当A的所有元素均为负数时,FIND-MAXIMUM-SUBARRAY返回-1. 这是因为在二进制中,当所 ...