服务器集群搭建教程

服务器集群搭建教程,第1张

fastdfs+nginx集群搭建的实现

本文主要介绍fastdfs+nginx集群构建的实现,通过示例代码进行了非常详细的介绍,对大家的学习或工作有一定的参考价值。有需要的朋友下面和边肖一起学习。

一、fastdfs简介

1。什么是fastdfs

  • Fastdfs是一个轻量级的开源分布式文件系统;
  • Fastdfs主要解决大容量文件存储和高并发访问问题,实现文件访问时的负载均衡。
  • DFS实现软件RAID,可以用廉价的IDE硬盘存储,支持存储服务器在线扩展,相同内容只保存一个文件,节省磁盘空间空;
  • fastdfs只能通过客户端API访问,不支持POSIX访问;
  • DFS特别适合大中型网站存储资源文件(如图片、文档、音频、视频等。).
  • 2.fastdfs框架图

    作者(余庆)给出框架图如下:

    其中包括:

    跟踪服务器:跟踪服务器,主要用于调度,在访问中起到负载均衡的作用。记录存储服务器的状态,存储服务器是连接客户机和存储服务器的集线器。
    存储服务器:存储服务器、文件和元数据都保存在存储服务器
    组:组,也可以称为卷。同一组中的服务器上的文件具有完全相同的文件ID:它包括两部分:组名和文件名(包括路径)
    元数据:文件相关属性,以及键值对,例如width=1024和heigth=768。

    3。上传文件过程

    (1)1)客户端询问tracker上传的存储,不需要额外的参数;
    (2)tracker返回一个可用存储;;
    (3)客户端直接与存储通信,完成文件上传。

    4。下载文件过程

    (1)1)客户端请求跟踪器下载文件的存储,参数为文件标识(组名和文件名);
    (2)tracker返回一个可用存储;;
    (3)客户端直接与存储通信,完成文件下载。

    5。同步机制

    (1)同一组中的存储服务器是对等的,可以在任意一台存储服务器上进行文件上传、删除等 *** 作;
    (2)文件同步只在同一组的存储服务器之间进行,采用推送方式,即源服务器同步到目标服务器;
    (3)只需要同步源数据,备份数据不需要再次同步,否则会形成循环;
    (4)上述第二条规则有一个例外,即当添加新的存储服务器时,现有的存储服务器会将所有现有数据(包括源数据和备份数据)同步到新添加的服务器。

    6.跟踪服务器目录结构

    (1)数据

    存储分组信息

    Storage_servers.dat:存储服务器列表

    (2)日志

    Trackerd.log:tracker服务器日志文件

    7.存储服务器目录结构

    1)数据

    。data_init_flag:当前存储服务器初始化信息

    Storage_stat.dat:当前存储服务器统计信息

    同步:存储数据同步相关文件。

    Binlog.index:当前Binlog文件的索引号。

    宾洛格。###:存储更新 *** 作记录(日志)

    ${ip地址}_${端口}。标志:存储同步的完成。

    (2)日志

    stored.log:存储服务器日志文件

    以上理论参考:

    中国Unix论坛:http://bbs.chinaunix.net/forum-240-1.html

    Github下载地址:https://github.com/happyfish100

    二。fastdfs安装和测试

    1。下载

    下载:libfastconcommfastdfs(2.0之前的版本需要libevent)

    2。安装

    (1)安装libfastcommon

    $tarxzvflibfastcommon-1.0.38.tar.gz $cdlibfastcommon-1.0.38 $./make.sh $sudo./make.shinstall

    (2)安装fastdfs

    $tarxzvffastdfs-5.11.tar.gz $cdfastdfs-5.11 $./make.sh $sudo./make.shinstall

    3。配置

    设置集群拓扑图(由于硬盘不足,下面的192.168.31.4和192.168.31.14还没有,扩展后再添加)

    (1)配置跟踪器(192.168.31.95/192.168.31.99)

    $cd/etc/fdfs/

    目录文件如下所示:

    然后,执行以下 *** 作:

    $sudosu #cptracker.conf.sampletracker.conf

    配置tracker.conf文件:

    vimtracker.conf

    modify:base_path=/home/fastdfs/tracker(注意:这个目录在启动前必须存在,否则会报错,找不到路径,这意味着需要手动创建一个新的tracker目录)

    开始:

    /etc/init.d/fdfs_trackerdstart

    (2)配置存储(192.168.31.2/192.168.31.12)

    $cd/etc/fdfs $sudosu #cpstorage.conf.samplestorage.conf

    修改:

    Group_name=group1(192.168.31.2)或group2(192.168.31.12)

    base_path=/home/fastdfs/storage

    store_path0=/home/fastdfs/storage

    修改:跟踪器服务ip和端口:

    tracker_server=192.168.31.95:22122(注:此处31.2tracker_server配置31.95和31.12tracker_server配置31.99)

    开始:

    /etc/init.d/fdfs_storagedstart

    检查fastdfs的相应配置信息

    #fdfs_monitor/etc/fdfs/storage.conf

    以下信息被认为是成功的:

    测试上传,选择192.168.31.99tracker机器作为fdfs_client。

    $cd/etc/fdfs $sudosu #cpclient.conf.sampleclient.conf #vimclient.conf

    修改:

    base_path=/home/fastdfs

    tracker_server=192.168.31.99:22122

    测试上传net.png文件:

    fdfs_upload_file/etc/fdfs/client.confnet.png

    三。nginx配置[/s2/]

    需要安装:

    Fast-nginx-module-1.20类似插件的东西

    nginx-1.14.2.tar.gz

    要安装nginx,您需要安装:

    opensslzlibpcre

    将astdfs-nginx-module插入nginx(nginx需要配置和制作&&进行安装)

    ./configure--add-module=../../fastdfs-nginx-module/src/

    错误:需要修改fastdfs-nginx-module-1.20/src/config文件。

    ngx_addon_name=ngx_http_fastdfs_module iftest-n"${ngx_module_link}";then ngx_module_type=HTTP ngx_module_name=$ngx_addon_name ngx_module_incs="/usr/local/include" 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_MODULESngx_http_fastdfs_module" NGX_ADDON_SRCS="$NGX_ADDON_SRCS$ngx_addon_dir/ngx_http_fastdfs_module.c" CORE_INCS="$CORE_INCS/usr/local/include" 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

    修改为:

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

    ngx_addon_name=ngx_http_fastdfs_module iftest-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_MODULESngx_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

    然后配置并制作&;进行安装

    接下来,cpmod_fastdfs.conf/etc/fdfs/并修改mod_fastdfs.conf文件。

    $cdfastdfs-nginx-module-1.20/src $cpmod_fastdfs.conf/etc/fdfs/

    修改mod_fastdfs.conf

    tracker_server=192.168.31.99:22122 store_path0=/home/fastdfs/storage group_name=group1 [group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=/home/fastdfs/storage [group2] group_name=group2 storage_server_port=23000 store_path_count=1 store_path0=/home/fastdfs/storage

    Willfastdfs-5.11/conf/

    $cphttp.conf/etc/fdfs/ $cpmime.types/etc/fdfs/

    已修改:http.conf

    http.anti_steal.token_check_fail=/home/fastdfs/fastdfs-5.11/conf/

    修改nginx.conf

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

    888端口号对应于/etc/etc/fdfs/storage.conf中的http.server_port=8888

    上传一张图片

    http://192.168.31.12:8888/group1/M00/00/00/wkgfdfzxvtyam4suabwwvfb6x_k962.png

    关于fastdfs+nginx集群构建的实现,本文到此结束。有关fastdfs+nginx集群构建的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

    欢迎分享,转载请注明来源:内存溢出

    原文地址: https://outofmemory.cn/zz/774276.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存