Article / 文章中心

怎么在CentOS7中用nginx 搭建 FastDFS 分布式文件存储系统

发布时间:2021-12-09 点击数:138

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 分布式文件存储成功!