FastDFS&Nginx分布式文件系统安装教程

简介: FastDFS&Nginx分布式文件系统安装教程

FastDFS & Nginx 分布式文件系统安装教程

前言

博客书链接:点击

版本说明:

Nginx :nginx-1.17.4.tar.gz
FastDFS :V5.12
libfastcommon :V1.0.40
FastDFS-nginx-module :V1.20


链接地址:



安装

安装依赖环境

# FastDFS 编译依赖 gcc 环境
yum install -y gcc-c++
yum install -y perl
# FastDFS 依赖 libevent 库。4 版本前用 libevent,5 直接安装 libfastcommon 即可。
yum install -y libevent


暴力安装

yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget lrzsz

tracker 编译安装

安装 libfastcommon

libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。


下载地址:https://sourceforge.net/projects/libfastcommon/

# 可以通过上面下载链接下载上传,或者通过 wget 方式下载
wget https://codeload.github.com/happyfish100/libfastcommon/tar.gz/V1.0.40
tar -zxvf V1.0.40


进入解压目录,进行编译,安装

# 进入解压目录
cd libfastcommon-1.0.40
# 编译
./make.sh
# 安装
./make.sh install


编译安装 tracker

下载地址:https://github.com/happyfish100/fastdfs/releases


下载 FastDFS.tar.gz 文件,并解压

wget https://codeload.github.com/happyfish100/fastdfs/tar.gz/V5.12
tar -zxvf V5.12

进入解压的目录,进行编译,安装

# 进入解压目录
cd fastdfs-5.12
# 编译
./make.sh
# 安装
./make.sh install
# 安装成功后,将安装目录下的 conf 下的文件拷贝到/etc/fdfs/下
cd conf/
cp * /etc/fdfs/


配置 tracker

修改 /etc/fdfs/tracker.conf

# 配置 tracker.conf 配置文件
# 启用配置文件
# false for enabled
# true for disabled
disabled=false
# tracker服务器端口(默认22122)
port=22122
# 存储日志和数据的根目录,可以根据默认创建目录,也可以修改为自己的存储路径
base_path=/home/fastdfs/tracker/bash_path
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/home/fastdfs/tracker/store_path0


启动 tracker

# 启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
service fdfs_trackerd start
# 停止
service fdfs_trackerd stop


设置开启启动

vi /etc/rc.d/rc.local
# 在 rc.local 配置文件添加如下命令即可
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

storage 编译安装

安装 libfastcommon

同 tracker 编译安装是的安装 libfastcommon。(如果是一台虚拟机安装Tracker和Storage,这里可以省略)

编译安装 storage

同 编译安装 tracker 。(如果是一台虚拟机安装Tracker和Storage,这里可以省略)


配置 storage

修改 /etc/fdfs/storage.conf

# 端口,storage 默认端口为 23000
port=23000
# 存储日志和数据的根目录,可以根据默认创建目录,也可以修改为自己的存储路径
base_path=/home/fastdfs/storage/base_path
# 配置 store 挂载磁盘数量
store_path_count=2
#如果有多个挂载磁盘则定义多个store_path,如下
store_path0=/home/fastdfs/storage/00
store_path1=/home/fastdfs/storage/01
# 配置tracker服务器ip,如果有多个可以配置多个
tracker_server=192.168.8.46:22122


启动 storage

# 创建软连接
ln -s /usr/bin/fdfs_storaged /usr/local/bin/
# 启动
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
service fdfs_storaged start
# 停止
service fdfs_storaged stop
systemctl stop fdfs_storaged


设置开启启动

vi /etc/rc.d/rc.local
# 在 rc.local 配置文件添加如下命令即可
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start


测试

通过 fdfs_test 程序

FastDFS 安装成功可通过 /usr/bin/fdfs_test 测试上传和下载等操作


配置 client.conf

修改 /etc/fdfs/client.conf 文件

# 配置存储日志和数据的根目录
base_path=/home/fastdfs/client/base_path
# 配置 tracker_server 地址
tracker_server=192.168.8.46:22122


上传文件测试

# 上传文件格式,由于文档在浏览器直接下载,建议使用图片之类的测试
/usr/bin/fdfs_test 客户端配置文件地址 upload 上传文件
/usr/bin/fdfs_test  /etc/fdfs/client.conf upload Docsify和Github部署博客书.md


如图示


上传 md 文件测试


image.png

上传图片测试

image.png


整合 Nginx

安装 FastDFS-nginx-module

下载地址:https://github.com/happyfish100/fastdfs-nginx-module/releases

wget https://codeload.github.com/happyfish100/fastdfs-nginx-module/tar.gz/V1.20
tar -zxvf V1.20


进入 fastdfs-nginx-module/src/ 目录下,编辑 config 配置文件

cd /usr/local/app/fastdfs/fastdfs-nginx-module-1.20/src
vim config
# 
将: CORE_INCS="$CORE_INCS /usr/lib/include"
修改为 :CORE_INCS="$CORE_INCS /usr/include"
CORE_INCS="$CORE_INCS /usr/local/include"


复制 fastdfs-nginx-module 源码中的配置文件到 /etc/fdfs 目录并进行配置

cp src/mod_fastdfs.conf /etc/fdfs/


配置 /etc/fdfs/mod_fastdfs.conf 文件

#修改以下配置
base_path=/tmp
# tracker服务IP和端口,多个就配置多行
tracker_server=192.168.8.36:22122
# storage服务端口
storage_server_port=23000
# 组名
group_name=group1
# 访问链接前缀加上组名
url_have_group_name=true
# storage 数量
store_path_count=2
# 文件存储路径
store_path0=/home/fastdfs/storage/00
store_path1=/home/fastdfs/storage/01


安装 Nginx 依赖

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

下载与安装 Nginx

# 下载 nginx
wget http://nginx.org/download/nginx-1.17.4.tar.gz
# 解压
tar -zxvf nginx-1.17.4.tar.gz
# 配置,添加 FastDFS-nginx-module
cd nginx-1.17.4
./configure \
 --prefix=/usr/local/nginx \
 --pid-path=/var/run/nginx/nginx.pid \
 --lock-path=/var/lock/nginx.lock \
 --error-log-path=/var/log/nginx/error.log \
 --http-log-path=/var/log/nginx/access.log \
 --with-http_gzip_static_module \
 --http-client-body-temp-path=/var/temp/nginx/client \
 --http-proxy-temp-path=/var/temp/nginx/proxy \
 --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
 --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
 --http-scgi-temp-path=/var/temp/nginx/scgi \
 --add-module=/usr/local/app/fastdfs/fastdfs-nginx-module-1.20/src
# 安装
make && make install


注意

--prefix=/usr/local/nginx :是安装目录 
--add-module : 是 FastDFS-nginx-module 解压目录

配置 Nginx

创建 nginx/client 目录

mkdir -p /var/temp/nginx/client


配置 nginx 配置文件

# 添加一个,用于 nginx 转发到 fastdfs 服务器上
location ~/group([0-9])/M([0-9]*) {
  ngx_fastdfs_module;
}


需要释放 Nginx 监听的端口,启动 Nginx

# 释放 Nginx 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 释放 tracker 端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=22122/tcp --permanent
# 释放 storage 端口
firewall-cmd --zone=public --add-port=23000/tcp --permanent
firewall-cmd --reload


Nginx 命令

cd /usr/local/nginx/sbin
# 启动
./nginx
#


通过 URL 访问测试

访问上传图片是返回的请求地址


image.png

目录
相关文章
|
7月前
|
存储 应用服务中间件 数据库
C++文件服务器项目—Nginx+FastDFS插件—5
C++文件服务器项目—Nginx+FastDFS插件—5
93 0
|
4月前
|
负载均衡 前端开发 应用服务中间件
FastDFS+Nginx+fastdfs-nginx-module集群搭建
FastDFS+Nginx+fastdfs-nginx-module集群搭建
|
4月前
|
存储 负载均衡 应用服务中间件
FastDFS+Nginx:轻松搭建本地文件服务器
【8月更文挑战第19天】在现今互联网快速发展的时代,文件服务器作为支撑各种在线服务的重要基础设施,其稳定性和性能显得尤为关键。FastDFS作为一款开源的轻量级分布式文件系统,凭借其高效的文件管理功能,特别适合用于构建相册网站、视频网站等以文件为载体的在线服务。本文将详细介绍如何利用FastDFS和Nginx快速搭建一个本地文件服务器,为您的工作和学习提供技术支持。
411 0
|
6月前
|
存储 分布式计算 Hadoop
【大数据】分布式数据库HBase下载安装教程
【大数据】分布式数据库HBase下载安装教程
205 0
|
7月前
|
负载均衡 架构师 应用服务中间件
FastDFS+Nginx搭建一个本地文件服务器
FastDFS+Nginx搭建一个本地文件服务器
233 0
|
7月前
|
Java 应用服务中间件 nginx
FastDFS整合Nginx安装与使用
FastDFS整合Nginx安装与使用
118 0
|
7月前
|
负载均衡 应用服务中间件 nginx
Nginx在分布式环境中的故障转移机制
Nginx在分布式环境中的故障转移机制
204 0
|
7月前
|
NoSQL Java 应用服务中间件
2024年面试复盘大全500道:Redis+ZK+Nginx+数据库+分布式+微服务
今天分享给大家的都是目前主流企业使用最高频的面试题库,也都是 Java 版本升级之后,重新整理归纳的最新答案,会让面试者少走很多不必要的弯路。同时每个专题都做到了详尽的面试解析文档,以确保每个阶段的读者都能看得懂,同时这部分面试文档也是可以免费的提供给有需要的同学们学习的
|
7月前
|
安全 Java 应用服务中间件
全网最新架构实战文档:高并发+分布式+微服务+SpringBoot+Nginx
关于一线互联网大厂网站的一些特点:用户多,分布广泛、大流量,高并发、海量数据,服务高可用、安全环境恶劣,易受网络攻击、功能多,变更快,频繁发布、从小到大,渐进发展、以用户为中心。
BQ云盘项目一 -- nginx+fastcgi+fastdfs+mysql+redis+c/c++
BQ云盘项目一 -- nginx+fastcgi+fastdfs+mysql+redis+c/c++