当前位置: 首页 > news >正文

centos 5.7_64位下安装FastDFS_v3.06分布式文件系统

测试环境5台服务器
tracker server1 192.168.10.225:22122
tracker server2 192.168.10.226:22122
storage server3 192.168.10.227
storage server4 192.168.10.228
client    server5 192.168.10.229
 

查看libevent是否已安装

ls -al /usr/lib | grep libevent

安装http://libevent.org/
https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz
# cd /root/
# mkdir soft
# wget https://github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz
# tar zxvf libevent-2.0.17-stable.tar.gz -C soft/
# cd libevent-2.0.17-stable
# ./configure --prefix=/usr/local/libevent-2.0.17
# make
# make install

http://code.google.com/p/fastdfs/
http://fastdfs.googlecode.com/files/FastDFS_v3.06.tar.gz

# wget http://fastdfs.googlecode.com/files/FastDFS_v3.06.tar.gz
# tar zxvf FastDFS_v3.06.tar.gz -C soft/
# ./make.sh C_INCLUDE_PATH=/usr/local/libevent-2.0.17/include LIBRARY_PATH=/usr/local/libevent-2.0.17/lib
# ./make.sh install
【注意:】
如果要使fastdfs支持web和开机自动脚本(默认是不支持的),需要修改make.sh文件
#WITH_HTTPD=1
#WITH_LINUX_SERVICE=1

配置文件说明
【tracker.conf】/etc/fdfs/tracker.conf
【tracker server】
disabled=false
bind_addr=
port=22122
connect_timeout=30
network_timeout=60
base_path=/data/fastdfs
max_connections=256
work_threads=4
store_lookup=2
store_group=group2
store_server=0
store_path=0
download_server=0
reserved_storage_space = 4GB
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
sync_log_buff_interval = 10
check_active_interval = 120
thread_stack_size = 64KB
storage_ip_changed_auto_adjust = true
storage_sync_file_max_delay = 86400
storage_sync_file_max_time = 300
use_trunk_file = false
slot_min_size = 256
slot_max_size = 16MB
trunk_file_size = 64MB

tracker server 配置两台,配置文件一样/etc/fdfs/tracker.conf

【storage.conf】/etc/fdfs/storage.conf
【storage server】
disabled=false
group_name=group1
bind_addr=192.168.10.228
client_bind=true
port=23000
connect_timeout=30
network_timeout=60
heart_beat_interval=30
stat_report_interval=60
base_path=/data/fastdfs
max_connections=256
buff_size = 256KB
work_threads=4
disk_rw_separated = true
disk_rw_direct = false
disk_reader_threads = 1
disk_writer_threads = 1
sync_wait_msec=50
sync_interval=0
sync_start_time=00:00
sync_end_time=23:59
write_mark_file_freq=500
store_path_count=1
store_path0=/data/fastdfs
subdir_count_per_path=256
tracker_server=192.168.10.225:22122
tracker_server=192.168.10.226:22122
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
file_distribute_path_mode=0
file_distribute_rotate_count=100
fsync_after_written_bytes=0
sync_log_buff_interval=10
sync_binlog_buff_interval=10
sync_stat_file_interval=300
thread_stack_size=512KB
upload_priority=10
if_alias_prefix=
check_file_duplicate=0
key_namespace=FastDFS
keep_alive=0

storage server 配置两台,其中bind_addr的地址要改为当前机器的IP,其他配置参数一样

mkdir -p /data/fastdfs

启动
【tracker server】
# /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
【storage server】
# /usr/local/bin/fdfs_storaged  /etc/fdfs/storage.conf


如果错误提示fdfs_storaged: error while loading shared libraries: libevent
32位则执行 ln -s /usr/local/libevent-2.0.17/lib/libevent-2.0.so.5 /lib/libevent-2.0.so.5
64位则执行 ln -s /usr/local/libevent-2.0.17/lib/libevent-2.0.so.5 /lib64/libevent-2.0.so.5

storage server上NGINX安装
安装nginx的fastdfs-nginx-module模块
# wget http://nginx.org/download/nginx-1.0.14.tar.gz
# tar zxvf nginx-1.0.8.tar.gz -C soft/
# wget http://fastdfs-nginx-module.googlecode.com/files/fastdfs-nginx-module_v1.08.tar.gz
# wget http://fastdfs.googlecode.com/files/fastdfs-nginx-module_v1.10.tar.gz
# tar zxvf fastdfs-nginx-module_v1.10.tar.gz -C soft/
# yum -y install libpcre3 libpcre3-dev openssl libssl-dev  pcre-devel  zlib-devel

groupadd nginx
useradd nginx -g nginx -s /sbin/nologin

cd nginx-1.0.8
# ./configure --prefix=/usr/local/nginx-1.0 --user=nginx --group=nginx --add-module=/root/soft/fastdfs-nginx-module/src/
# make
# make install
cd /root/soft/fastdfs-nginx-module/src/
# cp mod_fastdfs.conf /etc/fdfs/
cp /usr/local/src/software/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
# vi nginx.conf添加如下内容
location /M00 {
            root /data/fastdfs/data;
            ngx_fastdfs_module;
        }
# ln -s /data/fastdfs/data /data/fastdfs/data/M00
# ln -s /usr/local/nginx-1.0 /data/fastdfs/data/M00  (这条不用做,做了也白做,因为/data/fastdfs/data/M00已经存在了,呵呵)

# vim /etc/fdfs/mod_fastdfs.conf
connect_timeout=2
network_timeout=30
base_path=/data/fastdfs
tracker_server=192.168.10.225:22122
tracker_server=192.168.10.226:22122
storage_server_port=23000
group_name=group1
url_have_group_name = false
store_path_count=1
store_path0=/data/fastdfs
log_level=debug
log_filename=
response_mode=redirect
if_alias_prefix=
http.need_find_content_type=false
# /usr/local/nginx-1.0/sbin/nginx -c /usr/local/nginx-1.0/conf/nginx.conf

如果出现错误提示nginx: [emerg] getpwnam("nginx") failed
执行 useradd nginx
ngx_http_fastdfs_set pid=28525
 

client上配置,上传文件
# vim /etc/fdfs/client.conf
connect_timeout=30
network_timeout=60
base_path=/data/fastdfs
tracker_server=192.168.10.225:22122
tracker_server=192.168.10.226:22122
log_level=info

# /usr/local/bin/fdfs_test /etc/fdfs/client.conf upload 112.txt

This is FastDFS client test program v3.06

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.

[2012-03-22 15:57:35] INFO - base_path=/data/fastdfs, connect_timeout=30, network_timeout=60, tracker_server_count=2, anti_steal_token=0, anti_steal_secret_key length=0

tracker_query_storage_store_list_without_group:
        server 1. group_name=group1, ip_addr=192.168.10.227, port=23000
        server 2. group_name=group1, ip_addr=192.168.10.228, port=23000

group_name=group1, ip_addr=192.168.10.228, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/04/wKgK5E9q23C3KXaKAAAACsC3lco472.txt
source ip address: 192.168.10.228
file timestamp=2012-03-22 15:57:36
file size=10
file crc32=3233256906
file url: http://192.168.10.225/group1/M00/00/04/wKgK5E9q23C3KXaKAAAACsC3lco472.txt
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/04/wKgK5E9q23C3KXaKAAAACsC3lco472_big.txt
source ip address: 192.168.10.228
file timestamp=2012-03-22 15:57:36
file size=10
file crc32=3233256906
file url: http://192.168.10.225/group1/M00/00/04/wKgK5E9q23C3KXaKAAAACsC3lco472_big.txt


用浏览器访问
http://192.168.10.227/M00/00/04/wKgK5E9q23C3KXaKAAAACsC3lco472_big.txt
http://192.168.10.228/M00/00/04/wKgK5E9q23C3KXaKAAAACsC3lco472_big.txt

client    server 的PHP模块配置

centos 5.7_64位下FastDFS_client的配置和PHP测试
http://ppabc.blog.51cto.com/203980/813865

参考文章
FastDFS一个高效的分布式文件系统
http://blog.chinaunix.net/uid-20315669-id-1967075.html
FastDFS 配置文件详解(修订版1)
http://bbs.chinaunix.net/thread-1941456-1-1.html
分布式文件系统FastDFS介绍安装配置
http://who0168.blog.51cto.com/253401/705882


 

相关文章:

  • Verizon:2012年数据破坏调查报告
  • MySQL数据库备份的10个教程
  • PHP数组操作——取数组最后一个值
  • php---编译安装 PHP 的 Redis 扩展
  • 关于Installshield中Ie8\Ie9\SQL Server 2008 R2 Native Client等Prq文件在线下载地址
  • SQL Server 2008中增强的汇总技巧
  • cocos2d Labels and Fonts 标签和字体(附:关于Hiero的二三事)
  • ios5之ipad开发之分割试图与弹出层的使用
  • After Interview of Mstar
  • 创业路上的成功与快乐
  • linux下IPTABLES配置详解
  • 解决在firefox下js调用as失败问题
  • Linux下启动Java进程并获得进程ID(PID)
  • web前端性能优化指南
  • MS Server数据库里的Char,VarChar,NChar,NVarChar数据类型的异同
  • @angular/forms 源码解析之双向绑定
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • express + mock 让前后台并行开发
  • HomeBrew常规使用教程
  • IOS评论框不贴底(ios12新bug)
  • js 实现textarea输入字数提示
  • leetcode386. Lexicographical Numbers
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • 近期前端发展计划
  • 前端js -- this指向总结。
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 用Canvas画一棵二叉树
  • 用element的upload组件实现多图片上传和压缩
  • 智能合约开发环境搭建及Hello World合约
  • 【云吞铺子】性能抖动剖析(二)
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #AngularJS#$sce.trustAsResourceUrl
  • $(function(){})与(function($){....})(jQuery)的区别
  • (23)Linux的软硬连接
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (编译到47%失败)to be deleted
  • (定时器/计数器)中断系统(详解与使用)
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)详解PHP处理密码的几种方式
  • (转载)(官方)UE4--图像编程----着色器开发
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .bat批处理出现中文乱码的情况
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .net MySql
  • .Net 路由处理厉害了
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • @FeignClient注解,fallback和fallbackFactory
  • @Transactional类内部访问失效原因详解
  • [<死锁专题>]
  • [20170705]lsnrctl status LISTENER_SCAN1
  • [Android] Implementation vs API dependency