FastDFS--linux环境安装流程

FastDFS 集群部署 – 脚本部署可以私我

服务器规划:

跟踪服务器1【主机】(Tracker Server):**.***.***.***
跟踪服务器2【备机】(Tracker Server):**.***.***.***

存储服务器1(Storage Server):***.***.***.***
存储服务器2(Storage Server):***.***.***.***

安装包:

1.FastDFS_v5.08.tar.gz:FastDFS源码 
2.libfastcommon-master.zip:(从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库) 
3.fastdfs-nginx-module-master.zip:storage节点http服务nginx模块 
4.nginx-1.10.0.tar.gz:Nginx安装包 
5.ngx_cache_purge-2.3.tar.gz:图片缓存清除Nginx模块(集群环境会用到) 

将压缩包解压到/usr/local/src目录下

一、所有tracker和storage节点都执行如下操作

1、安装所需的依赖包
  yum install make cmake gcc gcc-c++(已有则略过此步)
2、安装libfatscommon
  cd /usr/local/src
  #安装unzip 命令: yum install -y unzip zip(已有则略过此步)
  unzip libfastcommon-master.zip
  cd libfastcommon-master
  ## 编译、安装
  ./make.sh && ./make.sh install
3、安装FastDFS
  cd /usr/local/src
  tar -xzvf FastDFS_v5.08.tar.gz
  cd FastDFS
  ./make.sh && ./make.sh install

采用默认安装方式,相应的文件与目录检查如下:
1> 服务脚本:
  /etc/init.d/fdfs_storaged
  /etc/init.d/fdfs_trackerd
2> 配置文件(示例配置文件):
ll /etc/fdfs/
  -rw-r--r-- 1 root root 1461 Jan 15 10:21 client.conf.sample
  -rw-r--r-- 1 root root 7927 Jan 15 10:21 storage.conf.sample
  -rw-r--r-- 1 root root 7200 Jan 15 10:21 tracker.conf.sample


3> 命令行工具(/usr/bin目录下)
  ll /usr/bin/fdfs_*

二、配置tracker服务器

1、复制tracker样例配置文件,并重命名
  cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
2、修改tracker配置文件
  vim /etc/fdfs/tracker.conf
  # 修改的内容如下:
  disabled=false # 启用配置文件
  port=22122 # tracker服务器端口(默认22122)
  base_path=/fastdfs/tracker # 存储日志和数据的根目录
  store_group=group1
3、创建base_path指定的目录
  mkdir -p /fastdfs/tracker
4、防火墙中打开tracker服务器端口( 默认为 22122)
  vim /etc/sysconfig/iptables
  添加如下端口行: 
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
  重启防火墙
  service iptables restart
5、启动tracker服务器
  /etc/init.d/fdfs_trackerd start
  初次启动,会在/fastdfs/tracker目录下生成logs、data两个目录。
  drwxr-xr-x 2 root root 4096 Jan 15 10:33 data
  drwxr-xr-x 2 root root 4096 Jan 15 10:33 logs
  检查FastDFS Tracker Server是否启动成功:
  ps -ef | grep fdfs_trackerd

三、配置storage服务器

1、复制storage样例配置文件,并重命名
  cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
2、编辑配置文件
  vim /etc/fdfs/storage.conf

  # 修改的内容如下:
  disabled=false # 启用配置文件
  port=23000 # storage服务端口
  base_path=/fastdfs/storage # 数据和日志文件存储根目录
  store_path0=/fastdfs/storage # 第一个存储目录
  tracker_server=**.***.***.***:22122 # tracker服务器IP和端口
  tracker_server=**.***.***.***:22122 #tracker服务器IP2和端口
  http.server_port=8888 # http访问文件的端口
3、创建基础数据目录
  mkdir -p /fastdfs/storage
4、防火墙中打开storage服务器端口( 默认为 23000)
  vim /etc/sysconfig/iptables

  #添加如下端口行:
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
  重启防火墙
  service iptables restart

注:集群环境下
  追踪+存储节点操作步骤一、步骤二、步骤三
  存储节点只做存储则只操作步骤三
5、启动storage服务器
  /etc/init.d/fdfs_storaged start
  初次启动,会在/fastdfs/storage目录下生成logs、data两个目录。
  drwxr-xr-x 2 root root 4096 Jan 15 10:33 data
  drwxr-xr-x 2 root root 4096 Jan 15 10:33 logs
  检查FastDFS Tracker Server是否启动成功:
  ps -ef | grep fdfs_storaged

四、文件上传测试(ip01)

1、修改Tracker服务器客户端配置文件
  cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
  vim /etc/fdfs/client.conf
  # 修改以下配置,其它保持默认
  base_path=/fastdfs/tracker
  tracker_server=**.***.***.***:22122 # tracker服务器IP和端口
  tracker_server=**.***.***.***:22122 #tracker服务器IP2和端口
2、执行文件上传命令
  #/usr/local/src/test.png 是需要上传文件路径
  /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/test.png
  返回文件ID号group1/M00/00/00/rBEAEV4efMOAeDYcAAAiVGnCABs590.png
  (能返回以上文件ID,说明文件已经上传成功)
  Or :
  /usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/src/test.png

五、在所有storage节点安装fastdfs-nginx-module

1、fastdfs-nginx-module 作用说明
 
FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储,但是同组存储服务器之间需要进入 文件复制,
有同步延迟的问题。假设 Tracker 服务器将文件上传到了 ip01,上传成功后文件 ID 已经返回给客户端。
此时 FastDFS 存储集群机制会将这个文件同步到同组存储 ip02,在文件还 没有复制完成的情况下,
客户端如果用这个文件 ID 在 ip02 上取文件,就会出现文件无法访问的 错误。而 fastdfs-nginx-module 
可以重定向文件连接到源服务器取文件,避免客户端由于复制延迟导致的 文件无法访问错误。
(解压后的 fastdfs-nginx-module 在 nginx 安装时使用)

2、解压 fastdfs-nginx-module_v1.16.tar.gz
  cd /usr/local/src
  tar -xzvf fastdfs-nginx-module_v1.16.tar.gz

3、修改 fastdfs-nginx-module 的 config 配置文件
  cd fastdfs-nginx-module/src
  vim config
  将
  CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/" 
  修改为:
  CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
4、安装Nginx上传当前的版本 Nginx(nginx-1.10.0.tar.gz)到/usr/local/src 目录
5、安装编译 Nginx 所需的依赖包
  yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel
6、编译安装 Nginx (添加 fastdfs-nginx-module 模块) 
  cd /usr/local/src/
  tar -zxvf nginx-1.10.0.tar.gz
  tar -zxvf ngx_cache_purge_2.3.tar.gz

  cd nginx-1.10.0

  ./configure --prefix=/opt/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src --add-module=/usr/local/src/ngx_cache_purge-2.3

  make && make install

8.复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录,并修改
  cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

  修改以下配置:
  connect_timeout=10
  base_path=/tmp  
  tracker_server=10.100.139.121:22122 # tracker服务器IP和端口
  tracker_server=10.100.138.180:22122 #tracker服务器IP2和端口
  url_have_group_name=true   #url中包含group名称 
  #在最后添加 [group1] 
  group_name=group1 
  storage_server_port=23000 
  store_path_count=1 
  store_path0=/fastdfs/storage


 9、复制 FastDFS 的部分配置文件到/etc/fdfs 目录
  cd /usr/local/src/FastDFS/conf
  cp http.conf mime.types /etc/fdfs/
10、在/fastdfs/storage 文件存储目录下创建软连接,将其链接到实际存放数据的目录 
  ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
11、配置 Nginx

user nobody;
worker_processes 1;
  events {
    worker_connections 1024;
  }
http {
  include mime.types;
  default_type application/octet-stream;
  sendfile on;
  keepalive_timeout 65;
  server {
    listen 8888;
    server_name 10.100.139.121;
    location ~/group1/M00 {
    ngx_fastdfs_module;
  }
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {
  root html;
  }
}
upstream storage_server_group1{
  server 1127.0.0.1:8888 weight=10;
  server 127.0.0.2:8888 weight=10;
}
}

   A、8888 端口值是要与/etc/fdfs/storage.conf 中的 http.server_port=8888 相对应
   B、Storage 对应有多个 group 的情况下,访问路径带 group 名,如/group1/M00/00/00/xxx, 对应的 Nginx 配置为:
  location ~/group([0-9])/M00 {
    ngx_fastdfs_module;
  }
  C、如查下载时如发现报 404,将 nginx.conf 第一行 user nobody 修改为 user root 后重新启动。

12、防火墙中打开 Nginx 的 8888 端口
  vim /etc/sysconfig/iptables
   添加:
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT

  #重启防火墙
  service iptables restart

六、验证:通过浏览器访问测试时上传的文件

切换追踪服务器IP同样可以访问
  http://ip:8888/group1/M00/00/00/CmSKtFj13gyAen4oAAH0yXi-HW8296.png
  http://ip:8888/group1/M00/00/00/CmSKtFj13gyAen4oAAH0yXi-HW8296.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值