开发者社区> 科技小能手> 正文

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

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

相关文章
运维 --- Nginx介绍和在CentOS/Redhat下安装
运维 --- Nginx介绍和在CentOS/Redhat下安装
64 0
Docker---Docker 在CentOS上安装
Docker---Docker 在CentOS上安装
40 0
Linux CentOS 内核编译全流程:从安装vmware开始
Linux CentOS 内核编译全流程:从安装vmware开始
85 0
centos 安装nodejs
centos 安装nodejs
48 0
有域名了第一步,阿里云centos宝塔面板安装WordPress个人博客
有域名了第一步,阿里云centos宝塔面板安装WordPress个人博客
49 0
CentOS环境下的Docker安装与配置开机自启动
基于CentOS环境下, 安装与配置Docker并设置开机自启
67 0
CentOS 下安装openOffice,并在Linux上实现office转PDF
CentOS 下安装openOffice,并在Linux上实现office转PDF
43 0
QGS
Centos 7 安装 Redis-3.0.4
记Centos 7 安装 Redis-3.0.4
69 0
centos下使用nvm安装nodejs
centos下使用nvm安装nodejs
25 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CentOS Nginx PHP JAVA 多语言镜像使用手
立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载
低代码开发师(初级)实战教程
立即下载