CentOS7中 nginx 搭建 FastDFS 分布式文件存储系统

简介: CentOS7中 nginx 搭建 FastDFS 分布式文件存储系统

新版本的安装教程参考这篇文章:https://blog.csdn.net/qq_32599479/article/details/105811627

step 1 : 准备材料

image.png

step 2: 安装 fastdfscommon

2-1: 安装所需要的依赖环境 yum -y install libevent


2-2: 解压 fastdfscommon 压缩包 tar -zxvf libfastcommon-1.0.7.tar.gz


2-3: 进入刚解压出来的 fastdfscommon 文件夹, 找到 make.sh 文件用它来进行编

译 ./make.sh


如果编译出错,解决方案如下:

yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel


2-4: 安装刚刚编译的 fastdfscommon 文件 ./make.sh install


2-5: 安装后会安装到目录 /usr/lib64, 该目录有很多文件,进入此目录查看所有可以使用以下命令 ll libfast*


2-6: 因 为 lib64 是 64 位 的 环 境 , 所 以 我 们 要 将 它 移 至 目

录 /usr/lib, cp libfastcommon.so /usr/lib


step 3: 安装 tracker 服务

3-1 : 找到 fastdfs-5.05.tar.gz 压缩文件 ,然后解压它, tar -zxvf fastdfs-5.05.tar.gz

3-2: 进入刚解压出来的 fastdfs-5.05.文件夹, 找到 make.sh 文件用它来进行编 译 ./make.sh

3-3: 安装刚刚编译的 fastdfscommon 文件 ./make.sh install


image.png

image.png

image.png3-7: 将 上 面 所 有 文 件 全 部 拷 贝 到 目 录 /etc/fdfs/ 中 去 cp * /etc/fdfs/ , 转 到 目 录 /etc/fdfs/, 查 看 此 目 录 内 容ll

image.png

3-8: 修改 tracker.conf 文件 vim tracker.conf , 找到 base_path 关键字符串(此路径也就是日志的保持路径, 这个随意填写)base_path=/fastdfs/tracker

3-9: 创 建 上 面 所 填 写 修 改 的 路 径 , ( 上 面 是

/fastdfs/tracker) mkdir /fastdfs/tracker -p

3-10: 分 别 在 根 目 录 / 创 建 storage , client 和 tmp , 为下面准备 mkdir /fastdfs/storage -p, mkdir /fastdfs/client -p, mkdir /fastdfs/tmp -p进入 cd /fastdfs 然后ll 查看目录结构:


image.png

image.png

3-11: ( 可 以 先 进 入 cd /usr/bin 回 车 , 查 看 ll fdfs*) 启动 tracker 服务 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf 按 下 回 车 ( 重 启 命令 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart)

step 4: 安装 storage 服务

4-1: 上面我们已经在根目录的 fastdfs /fastdfs 创建了 client, storage 和 tracke 三个目录 ll /fastdfs (如上图所示)

4-2: 进入 /etc/fdfs 目录下 cd /etc/fdfs/, 然后修改 storage.conf 文件 vim storage.conf,找到 base_path 关键字然后修改此路径(日志保存的路径)


image.png

image.png

4-3: 再找 group name 关键字 (即主机的名称)wdzimage.png

4-4: 再找 store_path0 (文件存储的路径)

image.png

4-5: 再配置与 tracker 关联起来 , 配置完后保存退出 :wq

image.png

配置 tracker 服务器的地址 192:168.1.103:22122 这里应该是你自己 tracker 的地址.

4-6: 启动 storage 服务, 目录转到/usr/bin/目录下 ./fdfs_storaged /etc/fdfs/storage.conf 命令启动服务 (./fdfs_storaged /etc/fdfs/storage.conf restart) 重启.


image.png

image.png

4-7: 可以查看服务有没有启动 ps aux | grep storage

image.png

tep 5: 配置 client 并且上传测试图片

5-1: 转到 /etc/fdfs/ 目录下, 然后修改 client.conf 文件 vim client.conf, 找 到 base_path 关键字 (存储日志的目录) 与 配置 tracker 服务器的地址

image.png

5-2: 目 录 转 到 /usr/bin 目 录 下 , 会 有 个 client_test 文 件 启

动/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/testPic.jpg

ps: /home/1.jpg 就是你要上传测试的图片地址


image.png

image.png

group_name =wdzl remote_filename 就是图片的 url 地址,等下面配置好 nginx 后可以用它 (group_name + remote_filename)的地址来访问此图片,就像 example file 所 显示的那个地址 刚刚测试上传的图片文件 保存在 /fastdfs/storage/data/00/00/ 目录下

step 6: fastdfs 与 nginx 配置

6-1: 找到之前上传的 fastdfs-nginx-module.tar.gz 压缩包文件, 解压它tar -zxvf fastdfs-nginx-module.tar.gz

6-2: 进入解压后的文件的 src 目录下, 然后修改 config 文件 vim config , 替换下面的代码,或者把 local 字样去掉


image.png

image.png

ngx_addon_name=ngx_http_fastdfs_module

HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"


NGX_ADDON_SRCS="$NGX_ADDON_SRCS


$ngx_addon_dir/ngx_http_fastdfs_module.c"


CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"


CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"


CFLAGS="$CFLAGS


D_FILE_OFFSET_BITS=64


DFDFS_OUTPUT_CHUNK_SIZE=‘256*1024’


DFDFS_MOD_CONF_FILENAME=’"/etc/fdfs/mod_fastdfs.conf"’"


ps 上面的路径要与之前的路径对应,如果是按照上面配置的话,可以直接粘贴


step 7: 安装 nginx 和配置


image.png

image.png

7-2: 找到之前上传的 nginx 压缩包 tar -zxvf nginx-1.12.0.tar.gz

7-3: 解压后转到该文件夹根目录下, 如 (/home/nginx-1.12.0) ,最后复制粘贴下面的代码,修改–add-module 是指向你 fastdfs-nginx-module 的 src 文件所在路径, 最后按下回车


image.png

image.png

image.png

7-4: 编译并安装 nginx, 在该文件夹根目录下, 如 (/home/tar/nginx-1.15.0)输入编译命令 make ,然后安装make installimage.png

image.png

image.png

image.png

  • 7-10: 检测 nginx 转到 nginx 安装目录下的 sbin 的目录下 (启动之前可以
    使用 ./nginx -t 检测是否配置正确)

问题一:如果出现下图问题:

image.png

进入 nginx 解压后的目录,删除 Makefile 文件重新进入 nginx 解压后的目录,如:cd /home/tar/nginx-1.15.2回车,将下图代码进行重新编译:

image.png

回车,然后进入 nginx 解压后的根目录进行编译和安装,输入命令 make && make install 回车即可。再次进入 nginx 安装目录下的 sbin 目录,输入命令./nginx -t,结果如下图:

image.png

image.png

step 8 查看上传到 fsatdfs 图片

  • 8-1: 先关闭防火墙

image.png

image.png

重启 track (cd /usr/bin # fdfs_trackerd /etc/fdfs/tracker.conf )

重启 storage (cd/usr/bin # fdfs_storaged /etc/fdfs/storage.conf)服务器

最后重启 ningx 服务器(cd /usr/local/nginx/sbin) ./nginx -s reload ,

无上述问题,无需重启 track、storage 服务,接下来在浏览器输入以下地址:http://192.168.1.103/wdzl/M00/00/00/图片名称

image.png

  • 按照上述流程搭建fastdfs 分布式文件存储成功!




相关文章
|
11月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
981 87
|
11月前
|
Kubernetes 大数据 调度
Airflow vs Argo Workflows:分布式任务调度系统的“华山论剑”
本文对比了Apache Airflow与Argo Workflows两大分布式任务调度系统。两者均支持复杂的DAG任务编排、社区支持及任务调度功能,且具备优秀的用户界面。Airflow以Python为核心语言,适合数据科学家使用,拥有丰富的Operator库和云服务集成能力;而Argo Workflows基于Kubernetes设计,支持YAML和Python双语定义工作流,具备轻量化、高性能并发调度的优势,并通过Kubernetes的RBAC机制实现多用户隔离。在大数据和AI场景中,Airflow擅长结合云厂商服务,Argo则更适配Kubernetes生态下的深度集成。
1230 34
|
7月前
|
存储 算法 安全
“卧槽,系统又崩了!”——别慌,这也许是你看过最通俗易懂的分布式入门
本文深入解析分布式系统核心机制:数据分片与冗余副本实现扩展与高可用,租约、多数派及Gossip协议保障一致性与容错。探讨节点故障、网络延迟等挑战,揭示CFT/BFT容错原理,剖析规模与性能关系,为构建可靠分布式系统提供理论支撑。
339 2
|
7月前
|
机器学习/深度学习 算法 安全
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
235 3
|
9月前
|
数据采集 缓存 NoSQL
分布式新闻数据采集系统的同步效率优化实战
本文介绍了一个针对高频新闻站点的分布式爬虫系统优化方案。通过引入异步任务机制、本地缓存池、Redis pipeline 批量写入及身份池策略,系统采集效率提升近两倍,数据同步延迟显著降低,实现了分钟级热点追踪能力,为实时舆情监控与分析提供了高效、稳定的数据支持。
378 1
分布式新闻数据采集系统的同步效率优化实战
|
11月前
|
应用服务中间件 Linux 网络安全
技术指南:如何把docsify项目部署到基于CentOS系统的Nginx中。
总结 与其他部署方法相比,将docsify项目部署到基于CentOS系统的Nginx中比较简单。以上步骤应当帮助你在不花费太多时间的情况下,将你的项目顺利部署到Nginx中。迈出第一步,开始部署你的docsify项目吧!
428 14
|
存储 Java 文件存储
🗄️Spring Boot 3 整合 MinIO 实现分布式文件存储
本文介绍了如何基于Spring Boot 3和MinIO实现分布式文件存储。随着应用规模扩大,传统的单机文件存储方案难以应对大规模数据和高并发访问,分布式文件存储系统成为更好的选择。文章详细讲解了MinIO的安装、配置及与Spring Boot的整合步骤,包括Docker部署、MinIO控制台操作、Spring Boot项目中的依赖引入、配置类编写及工具类封装等内容。最后通过一个上传头像的接口示例展示了具体的开发和测试过程,强调了将API操作封装成通用工具类以提高代码复用性和可维护性的重要性。
2619 7
🗄️Spring Boot 3 整合 MinIO 实现分布式文件存储
|
存储 运维 安全
盘古分布式存储系统的稳定性实践
本文介绍了阿里云飞天盘古分布式存储系统的稳定性实践。盘古作为阿里云的核心组件,支撑了阿里巴巴集团的众多业务,确保数据高可靠性、系统高可用性和安全生产运维是其关键目标。文章详细探讨了数据不丢不错、系统高可用性的实现方法,以及通过故障演练、自动化发布和健康检查等手段保障生产安全。总结指出,稳定性是一项系统工程,需要持续迭代演进,盘古经过十年以上的线上锤炼,积累了丰富的实践经验。
1219 7
|
存储 运维 监控
阿里云的文件存储NAS使用心得
阿里云的文件存储NAS使用心得
702 0
|
6月前
|
存储 人工智能 运维
阿里云渠道商:如何开通阿里云文件存储?
阿里云文件存储NAS支持NFS/SMB协议,实现多节点共享访问,适用于企业应用、AI计算与云备份。具备高可靠、零运维、弹性扩展及低成本优势,无缝集成OSS与本地IDC。
下一篇
开通oss服务