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

相关文章
|
1月前
|
Linux 网络安全 数据安全/隐私保护
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
144 0
|
2月前
|
关系型数据库 MySQL Linux
centos7.0环境下安装MySql_8.0.12
centos7.0环境下安装MySql_8.0.12
|
1月前
|
存储 JavaScript Linux
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
|
2月前
|
关系型数据库 MySQL Linux
CentOS7环境下安装MySQL5.6
CentOS7环境下安装MySQL5.6
195 0
|
3天前
|
关系型数据库 MySQL Linux
centos7安装mysql-带网盘安装包
centos7安装mysql-带网盘安装包
33 2
|
10天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
19 0
|
10天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
12 0
|
10天前
|
关系型数据库 MySQL Linux
CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
47 0
|
16天前
|
IDE Linux 开发工具
CentOS7.4+REDHAWK2.3.1安装教程——折腾篇
CentOS7.4+REDHAWK2.3.1安装教程——折腾篇
18 0
|
21天前
|
Linux Shell 开发工具
CentOS8中Docker安装及部署
CentOS8中Docker安装及部署
67 0