(一)centos7下如何搭建Nginx和FastDFS文件管理-环境搭建
一、关于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文件管理-环境搭建的更多相关文章
- Linux系统:centos7下搭建Nginx和FastDFS文件管理中间件
本文源码:GitHub·点这里 || GitEE·点这里 一.FastDFS简介 1.基础概念 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件上传 ...
- centos7下Elasticsearch5.2.2和head 插件环境搭建
ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进行数据索引 ...
- centos7 下 安装部署nginx
centos7 下 安装部署nginx 1.nginx安装依赖于三个包,注意安装顺序 a.SSL功能需要openssl库,直接通过yum安装: #yum install openssl b.gzip模 ...
- nginx+uwsgi+django开发环境搭建
Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...
- Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试
Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...
- (一)windows7下solr7.1.0默认jetty服务器环境搭建
windows7下solr7.1.0默认jetty服务器环境搭建 1.下载solr solr7官网地址:http://lucene.apache.org/solr/ jdk8官网地址:http://w ...
- win7下搭建nginx+php的开发环境
本来在win7下用的是IIS做web服务器,但近来因项目需求的原因,需要在服务器遇到404错误的时候自动做转向(不是在客户端的跳转,而是在服务器收到客户端请求去某目录下读取文件返回时,如果发现目录或目 ...
- win7下搭建nginx+php的开发环境(转)
在win7下用的是IIS做web服务器,但近来因项目需求的原因,需要在服务器遇到404错误的时候自动做转向(不是在客户端的跳转,而是在服务器收到客户端请求去某目录下读取文件返回时,如果发现目录或目录下 ...
- linux下nginx+php+mysql 自助环境搭建
++++++++++++++++++++++++++++++++++++++++++++++linux下nginx+php+mysql环境搭建+++++++++++++++++++++++++++++ ...
- centos7 下 yum 安装Nginx
centos7 下 yum 安装和配置 Nginx 添加yum源 Nginx不在默认的yum源中,可以使用epel或者官网的yum源,这里使用官网的yum源 rpm -ivh http://nginx ...
随机推荐
- LeeCode链表问题(一)
本文中所使用的链表定义如下所示: # Definition for singly-linked list. class ListNode: def __init__(self, val=0, next ...
- day134:2RenMJ:TypeScript的抽象类&装饰器&命名空间&模块&编译配置文件&python中的类型注解
目录 1.抽象类 2.装饰器 3.命名空间 4.模块 5.编译配置文件 6.python的类型注解 1.抽象类 抽象类(abstract class)做为其它派生类的基类使用. 它们一般不会直接被实例 ...
- SQL concat_ws, collect_set, 和explode合并使用
1. 背景 有一个这样的数据集:字段和字段的值是两列 目的是将这个数据转换成规整的一个特征是一列的数据: 2. 做法 第一步:先造出列 select ucid ,CASE WHEN type ='性别 ...
- 你知道Vue响应式数据原理吗
1. Vue2的响应式式原理主要是通过Object.defineProperty的方法里面的setter和getter方法的观察者模式来实现.也就是在组件的初始话阶段给每一个data属性都注册一个se ...
- C++模板(函数模板 & 类模板)
模板编程可称范型编程,是一种忽视数据类型的编程方式,这样的好处是什么?且看下面一个例子: 简单使用 求解最值问题,返回两个值中的较大值: int Max(int a, int b) { return ...
- 面向接口编程实践之aspnetcoreapi的抽象
最为一名越过菜鸟之后的开发,需要做接口开发.下面做一个纯粹的接口编程的实例demo,仅仅是一个webapi接口的抽象. 下面是代码接口,AbsEFWork是webapi,BaseEntityFrame ...
- mybatis xml 中 大于、小于、等于 写法
在 *.xml 中使用常规的 < > = <= >= 会与xml的语法存在冲突 方法一:使用xml 原生转义的方式进行转义 字符名称 sql符号 转义字符 大于号 > & ...
- 企名片Js逆向思路
企名片Js逆向思路 这个案例不算难,简单说一下思路. 目标链接:https://www.qimingpian.cn/finosda/project/pinvestment 网站更新了https://w ...
- docker安装es和kibana,单机模式
操作系统:mac系统 1.安装es docker pull elasticsearch:7.14.0 docker run --name es -p 9200:9200 -p 9300:9300 -e ...
- vue全家桶进阶之路20:ECMAScript脚本语言规范
ECMAScript(简称 ES)是一种由 Ecma 国际组织定义的脚本语言标准,它定义了 JavaScript 语言的基本规范和特性.JavaScript 是一种基于 ECMAScript 标准的编 ...