美文网首页
FastDFS文件服务器安装配置使用

FastDFS文件服务器安装配置使用

作者: candyicecream | 来源:发表于2021-05-06 14:57 被阅读0次

    1.FastDFS架构简介

    分布式文件系统

    分布式文件系统 (Distributed File System) 是一个软件/软件服务器,这个软件可以用来

        管理文件。但这个软件所管理的文件通常不是在一个服务器节点上,而是在多个服务器节

        点上,这些服务器节点通过网络相连构成一个庞大的文件存储服务器集群,这些服务器都

        用于存储文件资源,通过分布式文件系统来管理这些服务器上的文件。

    常见的分布式文件系统有:FastDFS、GFS、HDFS、Lustre 、Ceph 、GridFS

        、mogileFS、TFS等。

    分布式文件系统与传统文件系统对比:

    传统方式弊端:

        如果用户数量多,IO操作比较多,对磁盘访问压力很大

        如果磁盘发生故障,会造成数据丢失

        存储容量有限

    FastDFS简介:

    FastDFS是一个开源的轻量级分布式文件系统,为互联网应用量身定做,简单、灵活、高效,

        采用C语言开发,由阿里巴巴开发并开源。

    FastDFS对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载

        、文件删除)等,解决了大容量文件存储的问题,特别适合以文件为载体的在线服务,如

        相册网站、文档网站、图片网站、视频网站等等。

    FastDFS充分考虑了冗余备份、线性扩容等机制,并注重高可用、高性能等指标,使

        用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

    FastDFS代码托管在github上:https://github.com/happyfish100/fastdfs 

    FastDFS整体架构:

    FastDFS文件系统由两大部分构成,一个是客户端,一个是服务端

    客户端通常指我们的程序,比如我们的Java程序去连接FastDFS、操作FastDFS,那我们的

        Java程序就是一个客户端,FastDFS提供专有API访问,目前提供了C、Java和PHP几种编

        程语言的API,用来访问FastDFS文件系统。

    服务端由两个部分构成:一个是跟踪器(tracker),一个是存储节点(storage)

    跟踪器(tracker)主要做调度工作,在内存中记录集群中存储节点storage的状态信息,是前

        端Client和后端存储节点storage的枢纽。因为相关信息全部在内存中,

        Tracker server的性能非常高,一个较大的集群(比如上百个group)中有3台就足够了。

    存储节点(storage)用于存储文件,包括文件和文件属性(meta data)都保存到存储服务

        器磁盘上,完成文件管理的所有功能:文件存储、文件同步和提供文件访问等

    2.FastDFS安装

    1.安装前的准备:

    检查Linux上是否安装了 gcc、libevent、libevent-devel

    yum list installed | grep gcc

    yum list installed | grep libevent

    yum list installed | grep libevent-devel

    如果没有安装,则需进行安装:

    yum install gcc libevent libevent-devel -y 

    2. 安装 libfastcommon 库

    libfastcommon 库是 FastDFS 文件系统运行需要的公共 C 语言函数库

    在home新建: mkdir soft

    在/home/soft/ 下

    下载:

    wget https://github.com/happyfish100/libfastcommon/archive/V1.0.36.tar.gz

    解压

    tar -xvf v1.0.7.tar.gz

    "注: 你解压完成之后的的目录名不是V1.0.36,而是libfastcommon-1.0.36"

    进入libfastcommon-1.0.36目录

    cd  libfastcommon-1.0.36

    编译

    ./make.sh

    安装:

    ./make.sh install

    3.安装fastDFS

    在/home/soft/ 下

    下载:

    wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz 

    解压:

    tar -xvf V5.11.tar.gz

    解压完毕后会有一个目录fastdfs-5.11,进入到这个目录

    cd fastdfs-5.11

    编译

    ./make.sh

    安装

    ./make.sh install

    注: 至此FastDFS安装完成,所有编译出来的文件存放在/usr/bin目录下,所有配置文件存放在/etc/fdfs目录下

    4.查看FastDFS相关的可执行程序

    ll /usr/bin/fdfs*


    5.查看FastDFS相关的可执行程序

    ll /etc/fdfs/

    6.配置移动

    将/home/soft/fastdfs-5.11/conf 中的: http.conf    mime.types

    复制到/etc/fdfs/下

    cp http.conf /etc/fdfs/

    cp mime.types /etc/fdfs/

    7.说明

    命令都在/user/bin  下

    配置都在/etc/fdfs/存放四个配置文件:(必须放在/etc/fdfs下)

        client.conf.sample                客户端连接

        storage.conf.sample              storage配置

        storage_ids.conf.sample          记录id 

        tracker.conf.sample              tracker配置

    8.配置

    进入配置路径

    cd /etc/fdfs/

    复制并修改后缀名

    cp storage.conf.sample storage.conf

    cp tracker.conf.sample tracker.conf

    8.1修改tracker.conf配置:

    vi tracker.conf

    找到:

    base_path=/home/yuqing/fastdfs 

    按i

    修改为: base_path=/opt/fastdfs/tracker  #配置tracker存储数据的目录

    退出保存:按esc  :wq!

    在/opt/下新建fastdfs/tracker目录

    cd /opt/

    mkdir -p fastdfs/tracker

    8.2修改storage.conf配置:

    vi storage.conf

    找到:

    base_path=/home/yuqing/fastdfs

    按i

    修改为:base_path=/opt/fastdfs/storage  #storage存储数据目录

    找到:

    store_path0=/home/yuqing/fastdfs

    修改为:store_path0=/opt/fastdfs/storage/files  #真正存放文件的目录

    找到:

    tracker_server=192.168.209.121:22122

    修改为:tracker_server=Linux的ip:22122  #注册当前存储节点的跟踪器地址

    退出保存:按esc  :wq!

    在/opt/fastdfs/下新建storage/files目录

    mkdir -p storage/files

    注:如果有多个路径: store_path_count = 1 修改数量

    9.启动,关闭,重启命令

    tracker:

    启动: fdfs_trackerd /etc/fdfs/tracker.conf

    关闭: fdfs_trackerd /etc/fdfs/tracker.conf  stop

    重启: fdfs_trackerd /etc/fdfs/tracker.conf  restart

    storaged:

    启动: fdfs_storaged /etc//fdfs/storage.conf

    关闭: fdfs_storaged /etc//fdfs/storage.conf  stop

    重启: fdfs_storaged /etc//fdfs/storage.conf  restart

    查看是否启动成功:

    ps -ef | grep fdfs

    10. 查看storage是否已经注册到了tracker下

    fdfs_monitor /etc/fdfs/storage.conf

    10.1. 首次启动storage后,会在配置的路径下创建存储文件的目录

    cd /opt/fastdfs/storage/files/data

    ls

    11.测试FastDFS之前配置

    在/etc/fdfs/下

    cd /etc/fdfs/

    复制client.conf.sample 并修改名称

    cp client.conf.sample client.conf

    修改client.conf:

    vi client.conf

    找到:base_path=/home/yuqing/fastdfs

    按i

    修改成:base_path=/opt/fastdfs/client

    找到:

    tracker_server=192.168.0.197:22122

    修改成:tracker_server=Linux的ip:22122

    退出保存:按esc  :wq!

    在/opt/fastdfs/下新建client文件夹

    cd /opt/fastdfs/

    mkdir client

    12.测试上传

    准备一张图片,放在/root下

    fdfs_test /etc/fdfs/client.conf upload 图片名称(或者图片地址+名称)

    如:

    fdfs_test /etc/fdfs/client.conf upload a.jpg

    说明:group_name  和  remote_filename

    'group_name:组名' 'remote_filename:文件路径及文件名称'

    13.FastDFS生成的文件目录结构及名称示例

    13.1查看文件位置:

    如:

    http://192.168.30.128/group1/M00/00/00/wKgegGB4fsGAetuHAAhRXIE6jNU992.jpg

    所在位置:

    cd /opt/fastdfs/storage/files/data/00/00/

    说明:

    /opt/fastdfs/storage/files/: 是配置文件配置

    14.测试下载删除

    下载:

    fdfs_test /etc/fdfs/client.conf download 组名(group_name) 文件路径文件名(remote_filename)

    如:

    fdfs_test /etc/fdfs/client.conf download group1 M00/00/00/wKgegGB4fsGAetuHAAhRXIE6jNU992.jpg

    删除:

    fdfs_test /etc/fdfs/client.conf delete 组名(group_name) 文件路径文件名(remote_filename)

    如:

    fdfs_test /etc/fdfs/client.conf delete group1 M00/00/00/wKgegGB4fsGAetuHAAhRXIE6jNU992_big.jpg

    3.FastDFS-安装nginx

    1.下载fastdfs-nginx-module

    fastdfs 5.11版本对照:Version 5.11对应的fastdfs-nginx-module的Version 1.20 

    fastdfs  5.10版本对照:Version 5.10对应的fastdfs-nginx-module的Version 1.19

    如果版本不对应,后期安装会报错!!!

    下载:

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

    解压

    tar -xvf V1.20.tar.gz

    修改名称

    mv fastdfs-nginx-module-1.20 fastdfs-nginx-module

    2.配置fastdfs-nginx-module

    cd /home/soft/fastdfs-nginx-module-1.20/src

    vi config

    将: ngx_module_incs="/usr/local/include"

    修改为:

    ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"

    将:CORE_INCS="$CORE_INCS /usr/local/include"

    修改为:

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

    3.nginx依赖安装:

    cd /home/soft

    安装依赖环境,安装gcc环境

    yum install gcc-c++

    安装PCRE库,用于解析正则表达式

    yum install -y pcre pcre-devel

    zlib压缩和解压缩依赖

    yum install -y zlib zlib-devel

    SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https

    yum install -y openssl openssl-devel

    4.下载安装nginx

    下载:

    wget http://nginx.org/download/nginx-1.14.2.tar.gz

    解压

    tar -xvf nginx-1.14.2.tar.gz

    进入

    cd nginx-1.14.2.tar.gz

    执行:

    ./configure --prefix=nginx安装路径 --add-module=fastdfs-nginx-module解压目录

    --prefix是指定nginx安装路径

    --add-module指定fastDFS的nginx模块的源代码路径

    如:

    ./configure --prefix=/usr/local/nginx_fdfs --add-module=/home/soft/fastdfs-nginx-module/src

    编译

    make

    安装

    make install

    5.安装完后查看

    cd /usr/local/

    4.配置访问

    1.FastDFS的Nginx访问配置

    将fastdfs-nginx-module-master的mod_fastdfs.conf配置拷贝到/etc/fdfs/目录下

    cp /home/soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

    cd /etc/fdfs/

    修改mod_fastdfs.conf配置文件

    vi mod_fastdfs.conf

    找到:base_path=/tmp

    修改为:base_path=/opt/fastdfs/nginx_mod  ##基础路径

    找到:tracker_server=tracker:22122

    修改为:tracker_server=Linux的ip:22122   

    找到:url_have_group_name = false

    修改为:url_have_group_name = true 

    找到:store_path0=/home/yuqing/fastdfs

    修改为:store_path0=/opt/fastdfs/storage/files ##文件存放路径

    退出保存:按esc  :wq!

    在/opt/fastdfs/目录下新建nginx_mod文件夹

    cd /opt/fastdfs/

    mkdir nginx_mod

    2.配置Nginx

    进入nginx

    cd /usr/local/nginx_fdfs/conf/

    修改nginx.conf

    vi nginx.conf

    在server {里的 localhost / { 下新增:

    location ~ /group[1-9]/M0[0-9] {

            ngx_fastdfs_module;

    }

    注:ngx_fastdfs_module;  #这个指令不是Nginx本身提供的,是扩展模块提供的,根据

        这个指令找到FastDFS提供的Nginx模块配置文件,然后找到Tracker,最终找

        到Stroager

    退出保存:按esc  :wq!

    3.启动带有Fastdfs模块的Nginx

    检查

    /usr/local/nginx_fdfs/sbin/nginx -c /usr/local/nginx_fdfs/conf/nginx.conf -t

    启动

    /usr/local/nginx_fdfs/sbin/nginx -c /usr/local/nginx_fdfs/conf/nginx.conf

    4.检查

    ps -ef | grep nginx

    必须有三个

    6.设置开放的端口号

    firewall-cmd --add-service=http –permanent

    sudo firewall-cmd --add-port=80/tcp --permanent

    80:是需要开放的端口

    重启防火墙

    firewall-cmd --reload

    7.访问之前上传的图片

    如:

    http://192.168.10.12/group1/M00/00/00/wKiagGCUsCSAVhPCAB1IdfRTXZY511.jpg

    至此FastDFS+nginx 安装配置完成

    相关文章

      网友评论

          本文标题:FastDFS文件服务器安装配置使用

          本文链接:https://www.haomeiwen.com/subject/qpkddltx.html