(一)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 ...
随机推荐
- Semantic Kernel 入门系列:💬Semantic Function
如果把提示词也算作一种代码的话,那么语义技能所带来的将会是全新编程方式,自然语言编程. 通常情况下一段prompt就可以构成一个Semantic Function,如此这般简单,如果我们提前可以组织好 ...
- 事实胜于雄辩,苹果MacOs能不能玩儿机器/深度(ml/dl)学习(Python3.10/Tensorflow2)
坊间有传MacOs系统不适合机器(ml)学习和深度(dl)学习,这是板上钉钉的刻板印象,就好像有人说女生不适合编程一样的离谱.现而今,无论是Pytorch框架的MPS模式,还是最新的Tensorflo ...
- Auto-GPT测评:自信、努力、不合格
这两天,Auto-GPT 爆火 https://github.com/Torantulino/Auto-GPT 它是一款让最强语言模型GPT-4能够自主完成任务的模型,让整个AI圈疯了.它的嘴大突破是 ...
- 深度学习基础5:交叉熵损失函数、MSE、CTC损失适用于字识别语音等序列问题、Balanced L1 Loss适用于目标检测
深度学习基础5:交叉熵损失函数.MSE.CTC损失适用于字识别语音等序列问题.Balanced L1 Loss适用于目标检测 1.交叉熵损失函数 在物理学中,"熵"被用来表示热力学 ...
- Docker高级
一.Docker安装企业级开发应用 1.Docker搭建MySQL主从 (1) 创建master主机MySQL docker run -p 3307:3306 --name mysql-master ...
- 关于 static
由static定义的被称为类属性 例如( static String company = "博客园" ) 类方法 例如( public static void printCo ...
- MacOS 环境下 VSCode 的 C++ 环境搭建
编译器安装 编译器可以选择 Clang 或者 GCC,在 MacOS 上 Clang 的安装更为简单一些. Clang(推荐) 打开终端输入命令, clang -v 查看是否已经安装. 如果已经安装, ...
- 微服务 - Nginx网关 · 进程机制 · 限流熔断 · 性能优化 · 动态负载 · 高可用
系列目录: 微服务 - 概念 · 应用 · 通讯 · 授权 · 跨域 · 限流 微服务 - 集群化 · 服务注册 · 健康检测 · 服务发现 · 负载均衡 微服务 - Redis缓存 · 数据结构 · ...
- 逍遥自在学C语言 | 条件控制的正确使用姿势
前言 在C语言中,有三种条件判断结构:if语句.if-else语句和switch语句. 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白 ...
- thinkphp常量定义
是已经封装好的系统常量 主要是用在控制器下面的动作当中 这样能很大的提高我们的开发效率主要有下面的一些 手册上面都有的 __ROOT__ 网站的根目录 __APP__ 代表项目 ...