开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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


 


本文转自 ppabc  51CTO博客,原文链接:http://blog.51cto.com/ppabc/813755

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
宝塔java项目管理器部署javaweb站点之后无法启动解决方案
宝塔java项目管理器部署javaweb站点之后无法启动解决方案
563 0
Py之dlib:Python库之dlib库的简介、安装、使用方法详细攻略(二)
Py之dlib:Python库之dlib库的简介、安装、使用方法详细攻略
103 0
FastDFS安装手册
fastDFS架构包括 Tracker server和Storage server。客户端请求Tracker server进行文件上传、下载,通过Trackerserver调度最终由Storage server完成文件上传和下载。
2097 0
Redis的两种JSON的序列化器 GenericToStringSerializer和Jackson2JsonRedisSerializer
一切从一个错误开始说起Could not read JSON: Can not deserialize instance of com.springboot.entities.User out of START_ARRAY token
1333 0
分布式存储系统
本次分享内容主要包括三部分:(一)分布式存储系统应该具备的能力;(二)阿里云分布式存储系统盘古的介绍;(三)分布式系统技术展望。
11255 0
Linux route命令详解和使用示例(查看和操作IP路由表)
Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现     在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。
2451 0
【Java编程】Java中的字符串匹配
在Java中,字符串的匹配可以使用下面两种方法:         1、使用正则表达式判断字符串匹配         2、使用Pattern类和Matcher类判断字符串匹配 正则表达式的字符串匹配:         正则表达式:定义一组字符串的一系列字符和符号,它由常量字符和特殊符号构成。
2158 0
23703
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载