`
rensanning
  • 浏览: 3514150 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:37479
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:604323
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:678071
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:87257
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:399816
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69067
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:90474
社区版块
存档分类
最新评论

搭建分布式文件存储服务(FastDFS)

 
阅读更多
服务器规划如下:

引用
-跟踪服务器
    192.168.21.231 fdfs_tracker(22122)
-存储服务器
    192.168.21.232 nginx(mod_fdfs)(8888) fdfs_storage(23000)
    192.168.21.233 nginx(mod_fdfs)(8888) fdfs_storage(23000)
-客户端
    192.168.21.231 fdfs_client
-下载网关
    192.168.21.231 nginx(80)


(0)系统设置
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 
# systemctl stop NetworkManager
# systemctl disable NetworkManager
# service network restart

# vi /etc/sysctl.d/disable_ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# sysctl -p/etc/sysctl.d/disable_ipv6.conf
# ip a

# vi /etc/sysconfig/selinux
SELINUX=disabled

# systemctl stop firewalld
# systemctl disable firewalld 
 
# yum -y install gcc gcc-c++ kernel-devel pcre pcre-devel make libevent perl perl-devel gzip gzip-devel openssl-devel libxml2-devel wget unzip net-tools

# yum clean all
# yum makecache

# useradd fastdfs -M -s /sbin/nologin
# useradd nginx -M -s /sbin/nologin

# shutdown -r now


(1)安装FastDFS依赖包libfastcommon
# cd /usr/local/src
# wget https://github.com/happyfish100/libfastcommon/archive/master.zip --no-check-certificate -O libfastcommon-master.zip
# unzip libfastcommon-master.zip
# cd libfastcommon-master
# ./make.sh && ./make.sh install
    mkdir -p /usr/lib64
    mkdir -p /usr/lib
    install -m 755 libfastcommon.so /usr/lib64
    install -m 755 libfastcommon.so /usr/lib
    mkdir -p /usr/include/fastcommon


(2)安装FastDFS
# cd /usr/local/src
# wget https://github.com/happyfish100/fastdfs/archive/V5.09.tar.gz --no-check-certificate -O fastdfs-V5.09.tar.gz
# tar -zxvf fastdfs-V5.09.tar.gz
# cd fastdfs-5.09
# ./make.sh && ./make.sh install

# ll /etc/init.d/ |grep fdfs
    -rwxr-xr-x  1 root root   918 Mar 17 15:32 fdfs_storaged
    -rwxr-xr-x  1 root root   920 Mar 17 15:32 fdfs_trackerd
# ll /etc/fdfs/
    -rw-r--r-- 1 root root 1461 Mar 17 15:32 client.conf.sample
    -rw-r--r-- 1 root root 7927 Mar 17 15:32 storage.conf.sample
    -rw-r--r-- 1 root root  105 Mar 17 15:32 storage_ids.conf.sample
    -rw-r--r-- 1 root root 7318 Mar 17 15:32 tracker.conf.sample
# ll /usr/bin|grep fdfs
    -rwxr-xr-x  1 root root    315495 Mar 17 15:32 fdfs_appender_test
    -rwxr-xr-x  1 root root    315272 Mar 17 15:32 fdfs_appender_test1
    -rwxr-xr-x  1 root root    302120 Mar 17 15:32 fdfs_append_file
    -rwxr-xr-x  1 root root    301780 Mar 17 15:32 fdfs_crc32
    -rwxr-xr-x  1 root root    302179 Mar 17 15:32 fdfs_delete_file
    -rwxr-xr-x  1 root root    302914 Mar 17 15:32 fdfs_download_file
    -rwxr-xr-x  1 root root    302504 Mar 17 15:32 fdfs_file_info
    -rwxr-xr-x  1 root root    316333 Mar 17 15:32 fdfs_monitor
    -rwxr-xr-x  1 root root   1102214 Mar 17 15:32 fdfs_storaged
    -rwxr-xr-x  1 root root    325431 Mar 17 15:32 fdfs_test
    -rwxr-xr-x  1 root root    320552 Mar 17 15:32 fdfs_test1
    -rwxr-xr-x  1 root root    448889 Mar 17 15:32 fdfs_trackerd
    -rwxr-xr-x  1 root root    303106 Mar 17 15:32 fdfs_upload_appender
    -rwxr-xr-x  1 root root    304126 Mar 17 15:32 fdfs_upload_file


(3)配置跟踪服务器
# mkdir -p /data/fastdfs/tracker

# cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
# vi /etc/fdfs/tracker.conf
disabled=false
port=22122
base_path=/data/fastdfs/tracker

# cp /usr/local/src/fastdfs-5.09/conf/http.conf /etc/fdfs/
# cp /usr/local/src/fastdfs-5.09/conf/mime.types /etc/fdfs/

# /etc/init.d/fdfs_trackerd start
# netstat -unltp|grep fdfs
# ls /data/fastdfs/tracker/
# cat /data/fastdfs/tracker/logs/trackerd.log


(4)配置存储服务器
# mkdir -p /data/fastdfs/storage

# cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
# vi /etc/fdfs/storage.conf
disabled=false
port=23000
http.server_port=8888
base_path=/data/fastdfs/storage
store_path0=/data/fastdfs/storage
tracker_server=192.168.21.231:22122

# cp /usr/local/src/fastdfs-5.09/conf/http.conf /etc/fdfs/
# cp /usr/local/src/fastdfs-5.09/conf/mime.types /etc/fdfs/

# /etc/init.d/fdfs_storaged start
# netstat -unltp|grep fdfs
# ls /data/fastdfs/storage


(5)配置客户端
# cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
# vi /etc/fdfs/client.conf
base_path=/data/fastdfs/tracker
tracker_server=192.168.21.231:22122


文件上传下载测试
# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/fastdfs-5.09/README.md
group1/M00/00/00/wKgV6FjLk9eAMFQOAAAJTOwCGr42261.md
# cd /tmp
# /usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgV6FjLk9eAMFQOAAAJTOwCGr42261.md fastdfs-5.09-README.md


(6)存储服务器安装nginx(mod_fdfs)
# cd /usr/local/src
# wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip --no-check-certificate -O fastdfs-nginx-module-master.zip
# unzip fastdfs-nginx-module-master.zip

# cd /usr/local/src
# wget http://nginx.org/download/nginx-1.9.9.tar.gz -O nginx-1.9.9.tar.gz
# tar -zxvf nginx-1.9.9.tar.gz
# cd nginx-1.9.9
# ./configure --prefix=/usr/local/nginx-1.9.9 --add-module=../fastdfs-nginx-module-master/src
# make && make install
# ln -s /usr/local/nginx-1.9.9 /usr/local/nginx

# cp -r /usr/local/src/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
# vi /etc/fdfs/mod_fastdfs.conf
connect_timeout=10
base_path=/tmp
tracker_server=192.168.21.231:22122
storage_server_port=23000
url_have_group_name=true
store_path0=/data/fastdfs/storage
group_name=group1

# vi /usr/local/nginx/conf/nginx.conf
server {
      listen       8888;

      location ~/group[0-9]/ {
            ngx_fastdfs_module;
      }
}

# /usr/local/nginx/sbin/nginx
# netstat -unltp|grep nginx


以上步骤安装两台服务器(192.168.21.232、192.168.21.233)

确认nginx
http://192.168.21.232:8888/
Welcome to nginx!
http://192.168.21.233:8888/
Welcome to nginx!

确认文件:
http://192.168.21.232:8888/group1/M00/00/00/wKgV6FjLk9eAMFQOAAAJTOwCGr42261.md
http://192.168.21.233:8888/group1/M00/00/00/wKgV6FjLk9eAMFQOAAAJTOwCGr42261.md

(7)下载网关安装nginx
# cd /usr/local/src
# wget http://nginx.org/download/nginx-1.9.9.tar.gz -O nginx-1.9.9.tar.gz
# tar -zxvf nginx-1.9.9.tar.gz
# cd nginx-1.9.9
# ./configure --prefix=/usr/local/nginx-1.9.9
# make && make install
# ln -s /usr/local/nginx-1.9.9 /usr/local/nginx

# vi /usr/local/nginx/conf/nginx.conf
upstream fdfs {
    server   192.168.21.232:8888;
    server   192.168.21.233:8888;
}
server {
    location ~/group[0-9]/ {
        proxy_pass http://fdfs;
    }
}

# /usr/local/nginx/sbin/nginx
# netstat -unltp|grep nginx


确认文件:
http://192.168.21.231/group1/M00/00/00/wKgV6FjLk9eAMFQOAAAJTOwCGr42261.md

以上就安装完成了,可以客户端再次上传图片测试各服务器是否同步:

# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/test.jpg
group1/M00/00/00/wKgV6VjLmKGAEGocAAJmqsSfEXA036.jpg


确认文件:
http://192.168.21.232:8888/group1/M00/00/00/wKgV6VjLmKGAEGocAAJmqsSfEXA036.jpg
http://192.168.21.233:8888/group1/M00/00/00/wKgV6VjLmKGAEGocAAJmqsSfEXA036.jpg
http://192.168.21.231/group1/M00/00/00/wKgV6VjLmKGAEGocAAJmqsSfEXA036.jpg
分享到:
评论

相关推荐

    07_搭建分布式文件系统_FASTDFS.docx

    astDFS 是以C语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等 分布式文件系统:...

    分布式文件系统FastDFS详解

    FastDFS是一个开源的轻量级分布式文件系统,它主要对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题,特别适合以文件为载体的在线服务,如相册...

    FastDFS分布式文件系统.docx

    9.能够掌握FastDFS文件合并存储机制 10.能够掌握FastDFS图片压缩机制 11.能够理解FastDFS快速定位文件机制 后期课程: 1、es 2、RocketMQ 3、授权中心 (非对称加密(公钥私钥),JWT) 4、分布式事务 5、...

    轻量级分布式文件系统fastdfs_client-1.25.jar

    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站...

    分布式文件系统FastDFS对文件管理,解决了大容量存储和负载均衡的问题.docx

    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站...

    fastDFS分布式文件服务搭建安装包

    FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频...

    fastdfs集群安装部署V1.0.docx

    分布式文件服务安装 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的...

    FastDFS 分布式文件系统搭建.zip

    FastDFS 分布式文件系统实现了文件多台服务器之间分布式存储,附件为 tracker、storage、mod_fastdfs、nginx 软件及详情的安装、配置步骤说明

    2分布式存储fastDFS.zip

    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站...

    第2章.分布式文件存储.md

    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站...

    Centos7 fastdfs分布式存储环境搭建配置文件.rar

    (Linux)Centos7 fastdfs分布式存储环境搭建(全部的安装配置流程)该篇文章的配置文件。

    基于Fastdfs和Python的分布式文件存储系统+源代码+文档说明

    ### 基于Python + Fastdfs + Nginx + Mysql 的分布式文件存储平台 ### 需求: ``` + 1.文件原样存储,非块存储 + 2.环境快速搭建,存储集群快速扩容 + 3.配套工具齐全 ``` ``` python API接口: Python # 快速开发,...

    fastdfs文件上传服务器+商品的增删改查.pdf

    FastDFS 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、 文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特 别适合以文件为载体的在线服务,如相册...

    摘录自FastDFS的高性能网络通信框架 .rar

    FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。 FastDFS架构  FastDFS架构...

    Fastdfs搭建资料

    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站...

    FastDFS软件及开发文档

    fastdfs_client; fastdfs_client_java._v1.25.tar.gz; fastdfs_client_v1.20.jar; FastDFS_Java_Doc_v1.20.tar.gz; FastDFS_v5.05.tar.gz;...分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群.pdf;

    centos7搭建nginx+fastDFS

    FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB )为载体的在线服务...

    FastDFS教程(完整版)

    FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。由跟踪服务器(tracker server...

    【开发技巧】– 什么你还在使用本地作为文件保存服务器?本文将带你了解,如何使用SpringBoot优雅的将文件上传至阿里云OSS、FastDFS(分布式文件系统)

    通过搭建私有云,比如通过FASTDFS搭建一个分布式文件系统。 使用第三方云存储(阿里云OSS、七牛云等)。 1.3 文件上传的实现 1.3.1 前置准备 1. 创建一个枚举类FileSourceEnum(用于后期实例化指定文件上传业务实现...

Global site tag (gtag.js) - Google Analytics