fastdfs详细配置

简介:

fastdfs配置

服务器环境

fastdfs-trackerd 192.168.32.128

fastdfs-storage  192.168.32.129

分别在两个服务器上面安装好fastdfs服务


1.安装依赖

yum install openssl* -y 

yum install gd-devel -y

yum install pcre-devel -y


2.安装lbevent

tar zxvf  libevent-1.4.14b-stable.tar.gz

cd libevent-1.4.14b-stable

./configure --prefix=/usr/local/libevent

make

make install

export LD_LIBRARY_PATH=/usr/local/libevent/lib


3..安装fastdfs

tar zxvf FastDFS_v4.07.tar.gz

cd FastDFS

./make.sh C_INCLUDE_PATH=/usr/local/libevent/include LIBRARY_PATH=/usr/local/libevent/lib 

./make.sh install


4.创建fastdfs存储目录

mkdir /data/fastDFS


5.在tracker修改配置文件

vim /etc/fdfs/tracker.conf

bind_addr=192.168.32.128   绑定tracker服务器ip

base_path=/data/fastDFS   存放数据和日志的根目录地址(这个目录必须存在,其下的子目录自动生成

max_connections=256 系统提供服务时最大连接数

work_threads=4工作显成熟,通常设置为cpu数,默认为4

store_lookup=2上传文件到组的方式,

0:轮询 1:制定组 2:平均负载(选择最大剩余空间的组上传)。

store_group=group2当store_lookup设置为1时。必须设置本参数为系统存在的一个组名

store_server=0选择哪个storage server进行上传

0:轮询(默认方式)1:根据ip地址进行排序(选择ip地址最小的) 2:根据优先级进行排序(上传优先级由storage_server来设置,参数名为upload_priority)

store_path=0 选择storage server中的那个目录进行上传,storage server可以有多个存放文件的base_path,可以理解为多个磁盘。

0:轮流方式,多个目录一次存放文件 2:选择生育空间最大的目录存放文件

download_Server=0 选择哪个storage server作为下载服务器 

0:轮询方式,可以下载当前文件的任一storage server

1:哪个为源storage server就用哪一个,就是之前上传到那个storage server服务器就是哪个!

reserved_storage_space=10%storage server上的保留空间,保证系统或其他应用需求空间。

run_by_user=从操作系统运行FDFS的用户(不填,就是当前用户)

allow_hosts=*可以连接到此tracker server的ip范围。可以配置多行

sync_log_buff_interval=10 同步或刷新日志信息到硬盘的时间间隔,默认为秒

check_active_interval=120检测storage server存活的时间间隔,以秒为单位

thread_stack_size=64KB线程栈的大小,线程越大,占用资源越大。此值必须大于64KB

storeage_ip_changed_auto_adjust=true 这个参数控制当storage server ip改变时,集群是否自动调整。注:只有在storage server进程重启时才完成自动调整

storage_sync_file_max_delay=86400 storage server之间同步文件的最大延迟时间,以秒为单位,缺省为1天

storage_sync_file_max_time=300同步一个文件需要消耗的最大时间,以秒为单位

use_trunk_file=fakse是否使用trunk  file来合并小文件,缺省是关闭的

slot_min_size=256trunk file分配的最小字节数,比如文件只有16个字节,系统也会分配slot_min_size个字节

slot_max_size=16MB只有文件大小<=这个参数值得文件,才会合并存储,如果文件大小大于这个值,将直接保存到一个文件中(不采用合并存储)

trunk_file_size=64MB合并存储的trunk file大小,至少4MB.缺省值为64MB,不建议设置过大

use_storage_id=false是否使用server id作为storage server标识

storage_ids_filename=storage_ids.conf在文件中设置组名。server id和对用的ip地址

id_type_in_filename=ip 设置文件名中的storage server的标识

ip:storage server的ip地址

id:storage server的server id

rotate_error_log=flase是够定期轮转error log,目前仅支持一天轮转一次,建议设置为true!

error_log_rotate_time=00:00设置error log定期轮转的时间点。当rotate_error_log为true时有效

connection_poll_max_idle_time=3600最大连接等待时间,以秒为单位

http.server_port=80 (http服务端口,可以不设置)

http.check_alive_interval=30 检测storage http server存活的时间间隔, 以秒为单位

http.check_alive_type=tcp检测storage http server存活的方式,默认为tcp

http.check_alive_url=/status.html检测storage http server是否存活的url

#include http.conf

/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf 启动服务


修改client.conf

vim /etc/fdfs/client.conf

base_path=/data/fastDFS

tracker_server=192.168.32.128:22122

http.tracker_server_port=80

#include http.conf


在storage服务器安装nginx。用来上传和下载文件

#1.下载fastdfs-nginx-module_v1.15.tar.gz

tar -zxvf fastdfs-nginx-module_v1.15.tar.gz -C /usr/local

#2.安装nginx

tar zxvf nginx-1.6.0.tar.gz

cd nginx-1.6.0

cd /usr/local

tar zxvf fastdfs-nginx-module_v1.15.tar.gz

yum -y install pcre openssl gd*

./configure --prefix=/usr/local/nginx \

--with-file-aio \

--with-http_ssl_module \

--with-http_image_filter_module \

--with-http_sub_module \

--with-http_secure_link_module \

--with-http_stub_status_module \

--with-pcre \

--with-cc-opt='-O3 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' \

--with-ld-opt=-Wl,-E \

--with-http_realip_module \

--with-http_gzip_static_module \

--add-module=/usr/local/fastdfs-nginx-module/src

export LD_LIBRARY_PATH=/usr/local/libevent/lib/

cp mod_fastdfs.conf /etc/fdfs/

make && make install 


修改mod_fastdfs.conf

vim /etc/fdfs/mod_fastdfs.conf 

connect_timeout=20

base_path=/data/fastDFS

tracker_server=192.168.32.128:22122

store_path0=/data/fastDFS

url_have_group_name = true


修改nginx.conf

vim /usr/local/nginx/conf/nginx.conf

在server段添加以下内容

location /group1/M00/

    {

     alias  /www/fastDFS/data/;

     ngx_fastdfs_module;

    }

/usr/local/nginx/sbin/nginx -t检查配置文件参数

/usr/local/nginx/sbin/nginx 启动nginx


在storage修改配置文件

vim /etc/storage.conf

bind_addr=192.168.32.129

base_path=/data/fastDFS

store_path0=/data/fastDFS

tracker_server=192.168.32.128:22122

http.server_port=80

/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf 启动服务


测试:上传文件

 cat ./.bash_profile >> 2.txt

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

 

This is FastDFS client test program v4.07


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.


[2014-12-31 09:20:40] DEBUG - base_path=/data/fastDFS, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0


tracker_query_storage_store_list_without_group: 

        server 1. group_name=, ip_addr=192.168.32.129, port=23000


group_name=group1, ip_addr=192.168.32.129, port=23000

storage_upload_by_filename

group_name=group1, remote_filename=M00/00/00/wKgggVSjQ-iAJxtqAAAAsFQ-X38886.txt

source ip address: 192.168.32.129

file timestamp=2014-12-31 08:31:36

file size=176

file crc32=1413373823

example file url: http://192.168.32.129/group1/M00/00/00/wKgggVSjQ-iAJxtqAAAAsFQ-X38886.txt

storage_upload_slave_by_filename

group_name=group1, remote_filename=M00/00/00/wKgggVSjQ-iAJxtqAAAAsFQ-X38886_big.txt

source ip address: 192.168.32.129

file timestamp=2014-12-31 08:31:36

file size=176

file crc32=1413373823

example file url: http://192.168.32.129/group1/M00/00/00/wKgggVSjQ-iAJxtqAAAAsFQ-X38886_big.txt

用浏览器访问 http://192.168.32.129/group1/M00/00/00/wKgggVSjQ-iAJxtqAAAAsFQ-X38886_big.txt 就能看到上传的文件了


上传的文件放在/data/fastDFS/data/00/00中


查看端口

netstat -tunpl

配置fastdfs支持php

yum -y install php*

cd /root/FastDFS/php-client

phpize  用来准备php扩展库的编译环境

./configure

make 

make install

 cat fastdfs_client.ini >> /etc/php.ini

/usr/bin/php -m | grep fastdfs

service php-fpm start

修改/etc/fdfs/client.conf

tracker_server=192.168.32.128:22122

http.tracker_server_port=80

echo 'php_upload_test' > /tmp/upload.txt

vim test.php

<?php 

var_dump(function_exists('fastdfs_storage_upload_by_filename')); 

$ret = fastdfs_storage_upload_by_filename('

/tmp/upload.txt

'); 

var_dump($ret); 

?>

/usr/bin/php test.php

bool(true)

 成功

array(2) {

  ["group_name"]=>

  string(6) "group1"

  ["filename"]=>

  string(44) "M00/00/00/wKgggVSjbDaATlrAAAAAEIxdRHw661.txt"

}

/etc/init.d/php-fpm reload

最后用浏览器访问这个,看是否能访问到



本文转自 shouhou2581314 51CTO博客,原文链接:http://blog.51cto.com/thedream/1654379,如需转载请自行联系原作者
相关文章
|
1月前
|
存储 负载均衡 容灾
Fastdfs安装与配置
Fastdfs安装与配置
|
3月前
|
存储 负载均衡 文件存储
fastdfs简单介绍
fastdfs简单介绍
23 0
|
5月前
|
存储 负载均衡 Linux
FastDFS介绍-1
FastDFS介绍
48 1
|
5月前
|
存储 负载均衡 算法
FastDFS介绍-2
FastDFS介绍
60 1
|
存储 负载均衡 网络协议
fastdfs部署
FastDFS 是一个开源的高性能分布式文件系统。它的主要功能包括:文件存储、文件同步和文件访问(文件上传和文件下载),它可以解决高容量和负载均衡问题。FastDFS应该能满足图片分享网站、视频分享网站等以文件为基础服务的网站的要求。 FastDFS有两个角色:tracker和storage。跟踪器负责文件访问的调度和负载均衡。storage 存储文件,其功能是文件管理,包括:文件存储,文件同步,提供文件访问接口。它还管理元数据,这些元数据是表示文件键值对的属性。例如:width=1024,键为“width”,值为“1024”
295 0
fastdfs部署
|
存储 Java Linux
FastDFS 安装与配置| 学习笔记
快速学习 FastDFS 安装与配置。
123 0
FastDFS 安装与配置| 学习笔记
|
存储 负载均衡 架构师
FastDFS 介绍 | 学习笔记
快速学习 FastDFS 介绍 。
88 0
|
Web App开发 存储 应用服务中间件
|
存储 监控 应用服务中间件
浅谈fastDFS服务器
  FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。FastDFS特别适合以文件为载体的在线服务,多图片、多视频的服务等等。
3480 0
|
存储 负载均衡 文件存储