一、关于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. day13:迭代器&高阶函数(map,reduce,filter,sorted)

    迭代器 1.迭代器的定义: 能被next调用,并不断返回下一个值的对象,叫做迭代器(对象) 2.迭代器的概念: 迭代器指的是迭代取值的工具,迭代是一个重复的过程, 每次重复都是基于上一次的结果而继续的 ...

  2. java中的装箱 拆箱 以及 字符串与基本数据类型的转化

    java中的装箱 拆箱 装箱就是 自动将基本数据类型转换为包装器类型:拆箱就是 自动将包装器类型转换为基本数据类型 ; Integer i =5;//装箱 int j=i;//拆箱 在装箱的时候自动调 ...

  3. Qt开发技术:Q3D图表开发笔记(三):Q3DSurface三维曲面图介绍、Demo以及代码详解

    前言   qt提供了q3d进行三维开发,虽然这个框架没有得到大量运用也不是那么成功,性能上也有很大的欠缺,但是普通的点到为止的应用展示还是可以的.  其中就包括华丽绚烂的三维图表,数据量不大的时候是可 ...

  4. 小程序 TS 封装API

    通俗易懂不说废话,拿去用,看两遍就能理解. 1 const { baseUrl } = require('./env').dev; 2 const token = wx.getStorageSync( ...

  5. csp-s2022游记

    ## 10.29### 民间数据:洛谷 $95+85+60+44=284$  infoj $90+40+40+44=214$  **输麻了**### 赛时经历开考前发现前面坐着 Qiuly,好可怕.开 ...

  6. Windows 11 启用 Hyper-V 之后网络上传速度异常慢解决方案

    最近在开发用的台式机上启用了 Windows 的 Hyper-V 虚拟化功能,利用虚拟机运行了一台 Windows Server 2022 和 一台 Ubuntu Server,为了方便别的机器直接访 ...

  7. #Powerbi 利用EOMONTH,计算月度时间进度

    在POWERBI中计算本月的时间进度 许多小伙伴在做看板时,往往会遇到需要时间进度的计算,来配合业绩达成的进度,进行比较分析.那么如何在BI做通过公式进行这个数据的求值呢? 首先,我们需要测算两个值, ...

  8. Docker compose单机编排工具

    Docker compose单机编排工具 目录 Docker compose单机编排工具 docker-compose介绍 Docker Compose使用的三步: docker-compose安装部 ...

  9. SQL课设之报刊订阅管理

    E-R图: 一些常用命令: 1.登录mysql 2.选择进入数据库  相关SQL代码如下: CREATE TABLE Administrator( Gname varchar(50)PRIMARY K ...

  10. 2022-04-07:给定一个只由‘a‘和‘b‘组成的字符串str, str中“ab“和“ba“子串都可以消除, 消除之后剩下字符会重新靠在一起,继续出现可以消除的子串... 你的任务是决定一种消除的

    2022-04-07:给定一个只由'a'和'b'组成的字符串str, str中"ab"和"ba"子串都可以消除, 消除之后剩下字符会重新靠在一起,继续出现可以消 ...