Fastdfs安装(超级无敌详细版)

注:如果还没开始安装,请根据本教程完整走完,每个教程都有差异,拼拼凑凑更容易出问题。本教程各个包的版本都是亲自试过没问题的,熟练的半小时内即可安装好。

由于在学习阶段,看了许多别人的教程和视频,但是拼拼凑凑的会出很多问题,故自己整理了一套安装方法,给自己参考

FastDFS(Fast Distributed File System)是一个开源的分布式文件系统,主要用于文件的存储与访问。它支持海量文件存储,并能实现高效的文件上传和下载。它可以通过多台服务器扩展存储容量,提供海量、高可靠的文件存储服务。
FastDFS 的原理是将一个大文件切分成多个小文件,分散地存储在多个服务器上,再通过一些元数据进行索引和管理,实现文件的访问。
具体地,FastDFS 主要由 Tracker Server 和 Storage Server 两个组成部分,Tracker Server 用于管理 Storage Server ,也就是负责元数据管理,而 Storage Server 负责对文件进行实际存储。客户端上传文件时先向 Tracker Server 发送上传请求,Tracker Server 会选择一个空闲的 Storage Server,将文件传输到 Storage Server 上进行存储,最后将存储路径和文件信息返回给客户端,客户端以后可以通过这个路径直接访问文件。

  1. fastdfs是c语言开发,要先安装gcc环境

yum -y install gcc-c++

安装完毕后会提示

注:linux配置环境可能会存在需要其他依赖问题,yum命令能够帮你搞定其他的依赖关系,不需要找其他的依赖,只需要输入你需要的环境,帮你一步到位

  1. 配置libevent环境

yum -y install libevent

本人已经安装过了,提示已安装

  1. 上传安装文件

链接:https://pan.baidu.com/s/1LeDSYUW9o1RGqOlFrlbnCg?pwd=1234

提取码:1234

上传到/usr/local/fastdfs

注:建议新手同学可以配合xftp7一起使用,新建文件不执行命令,右键即可新建!

  1. 安装libfastcommon

输入解压命令

unzip libfastcommon-1.0.36.zip

如果提示为找到该命令

只需

yum -y install zip unzip

完成解压后进入解压后的文件夹

cd libfastcommon-1.0.36/

执行

./make.sh 

出现该页面即完成

再执行

./make.sh install

现需要将文件拷贝出来

cd /usr/lib64/
cp libfastcommon.so /usr/lib/
#查看是否拷贝成功,出现文件目录即代表成功
find /usr/lib/ -name libfastcommon.so

至此,libfastcommon安装成功

  1. 安装fastdfs-5.11

返回原目录

 cd /usr/local/fastdfs/
#删除已解压的包
rm -rr libfastcommon-1.0.36.zip
#解压
tar -zxf fastdfs-5.11.tar.gz
#进入解压后的目录
cd fastdfs-5.11/
#执行安装
./make.sh

完成后执行

./make.sh install

进入文件

cd /usr/local/fastdfs/fastdfs-5.11/conf/
cp * /etc/fdfs/
cd /usr/local/fastdfs/fastdfs-5.11/tracker/
vim /etc/fdfs/tracker.conf

修改

执行启动

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
  1. 安装Storage

cd /usr/local/fastdfs/fastdfs-5.11/storage
 vim /etc/fdfs/storage.conf

修改:

改成当前服务器地址

注意:本人是本机连接其他电脑的虚拟机系统,故要增加了一个端口映射操作!!

所以此处应该写的是宿主机的IP

在其他电脑的虚拟机上配置22122端口号!!

启动:

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

启动成功后,可以看到在/usr/local/fastdfs/fastdfs-5.11/storage目录下生成了一个Date文件。

本人在安装时,没有自动生成Data文件,查看日志后发现启动失败

开启22122端口号即可。

  1. 测试是否成功(配置客户端)

cd /usr/local/fastdfs/fastdfs-5.11/client/
cp libfdfsclient.so /usr/lib
vim /etc/fdfs/client.conf

修改这个两个地方

测试,先写一篇文章,随便写什么内容

vim /root/hi.html

保存文件测试

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/hi.html

成功后,会返回一个路径

到此为止,fastdfs内部就已经OK了,但是目前还不能通过外部访问。

为了使其能够通过外部访问,我们需要安装nginx和nginx插件

  1. 安装nginx和nginx插件

客户端浏览器不能访问我们fastdfs的原因就是fastdfs不能够处理http协议,所以我们安装nginx的目的是让fastdfs具有http访问的能力。

Nginx和Fastdfs本来之间是没有联系的,但是通过Nginx和Fastdfs组合的一个插件就可以处理。

逻辑为:客户端发送http请求->Nginx(http服务器)->Nginx+FastDfs插件->FastDfs

#安装PCRE
yum install -y pcre pcre-devel
#安装zlib
yum install -y zlib zlib-devel
#安装openssl
yum install -y openssl openssl-devel
#一步到位
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

解压

cd /usr/local/fastdfs/
tar -zxf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/

修改配置文件

cd src/
vim config

替换整个文档

ngx_addon_name=ngx_http_fastdfs_module
 
if test -n "${ngx_module_link}"; then
    ngx_module_type=HTTP
    ngx_module_name=$ngx_addon_name
    ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
    ngx_module_libs="-lfastcommon -lfdfsclient"
    ngx_module_srcs="$ngx_addon_dir/ngx_http_fastdfs_module.c"
    ngx_module_deps=
    CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
    . auto/module
else
    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 -lfastcommon -lfdfsclient"
    CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
fi
cp mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf

修改

替换为/usr/local/fastdfs/fastdfs-5.11/storage

至此,插件的安装OK了

  1. 安装Nginx

cd /usr/local/fastdfs/
tar -zxf nginx-1.8.1.tar.gz
cd nginx-1.8.1/
#修改配置
./configure --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src

会出现一长串,即为成功

make
make install

注:这个地方很多人会错误,我也出现了不少问题,最终是把fastdfs-nginx-module换成1.16就OK了

cd /usr/local/nginx/conf
vim nginx.conf 

手动输入

        location ~/group([0-9])/M00 {
          ngx_fastdfs_module;
          root  /fastdfs/storage/data;
        }
#在该文件的上面第二行插入
user root;
#我的配置文件!源码
Xshell 6 (Build 0111)
Copyright (c) 2002 NetSarang Computer, Inc. All rights reserved.

Type `help' to learn how to use Xshell prompt.
[G:\~]$ 

Connecting to 10.8.21.223:10023...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Wed Mar 22 16:34:21 2023 from 10.8.22.131
[root@localhost ~]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf


#user  nobody;
worker_processes  1;
user root;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
"nginx.conf" 120L, 2783C                                                                                 1,0-1        顶端
·
#启动进程
./nginx
#看一下是否成功启动
ps -aux | grep nginx

同时出现这两行代表成功

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/hi.html

执行这个命令,复制地址到浏览器中打开,就会出现之前输入的内容,代表成功

如需在Springboot上部署FastDFS,请看Spring boot集成FastDFS

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值