法斯特DFS 配置文件 storage.conf

# “*” means match all ip addresses, can use range like this:
10.0.1.[1-15,20] or

  在近来这么些互连网的时期,不管何种网站,对图纸的供给量越来越大,尤其在电商网站中,差不多都相会临到海量图片财富的贮存、访问等有关技能难题。在对图纸服务器的架构,扩大,升级的进程中,肯定也会遇到各样各个的难点,各类各个的须求。当然那并不意味,就非得得弄八个专门NB的图样服务架构,简单,高效,稳定就行。所今后天就来总括一个特意不难,高效的图纸服务架构:通过共享存款和储蓄的法子来兑现图片服务架构。

allow_hosts=*

  通过共享目录的艺术贯彻共享存储,在共享目录文件服务器上计划独立域名,这样将图纸服务器和应用服务器实行分离,来达成独立图片服务器。

##  false for mixed read and write

  可是,也有一些人问小编,未来重型网站的图纸服务器的架构已经完全不是那样的了,外人家的图样系统,比你这些牛逼多了,为什么不直接写那么些呢?
事实是:第3,大型牛逼的体系本人也不会,第贰,
再牛逼的系统也是从小的架构衍生和变化过去的,没有一步到位的。这里介绍图片服务器架设即使相比简单,但也是透过了单机时期的演变了,基本上能够知足中型小型型分布式网站的须求。那种框架结构的搭建和学习成本,都非常的低,符合当下“短平快”的费用格局。

FastDFS
版本5.05

   图片 1

http.domain_name=

  http://i1.abc.com/lib/2016/03/04/10/IMG/4ugvvt6m9gdu.jpg

# Hour from 0 to 23, Minute from 0 to 59

  其实架设也非凡不难,基本架构如下图所示:

 

 

# the mode of the files distributed to the data path

 

# Hour from 0 to 23, Minute from 0 to 59

     3. 相对来讲很灵敏,也支撑扩大体积/扩大。协理配置成单身图片服务器和域名访问,方便日后的壮大和优化。 

rotate_access_log_size = 0
# access
log按文件大小轮转
#
设置为0表示不按文件大小轮转,不然当access
log达到该大小,就会轮转到新文件中

    
 
 3. 一旦图片服务器出现难点,那全数的使用都会境遇震慑。同时也对存款和储蓄服务器的质量供给尤其高。

#
指定 此 storage server 所在 组(卷)

       //保存原图
    //完整的地址:\\192.168.1.200\lib\2016\03\04\10\IMG\4ugvvt6m9gdu.jpg
    relativePath = relativeDir + fileName + imageExtension;
       var absolutePath = ConfigHelper.SharePath + relativePath;
       fileData.SaveAs(absolutePath);                

# 0 means never rotates log file by log file size

 

upload_priority=10
#  本storage
server作为源服务器,上传文件的先行级
#  能够为负数。值越小,优先级越高
#  那里就和 tracker.conf 中store_server=
2时的布局相对应了 

  1.
在存款和储蓄服务器上确立二个共享目录(具体格局,小编就不去重新了,自个儿百度吗,注意大利共产党享目录的文书安全)。

max_connections=256
# 服务器扶助的最大出现连接
# 默认为256
# 更大的值 意味着需求使用更大的内存

  
 优点:1
 将图纸服务和应用服务分离,缓解应用服务器的I/O负载。

# if disk read / write separated

     2.
通过共享目录的法门来开始展览读写操作,能够免止多服务器之间同步相关的难题。

# since V4.00

 

# the NIC alias prefix, such as eth in Linux, you can see it by
ifconfig -a

 

# write to the mark file after sync N files

     4. 针锋相对于更为复杂的分布式的NFS
系统,这种措施是性价比高,符合当下互连网的“短平快”的付出格局。

# default value is 100

  所以,各使用,将文件上盛传共享目录

### info

  上传成功后,可一向通过web
的措施访问:

FastDHT **文件去重设置:**

  2.
一一应用直接通过共享目录(\\192.168.1.200),将图纸上传到存款和储蓄服务器上。

 

  缺点
:1.
共享目录配置有个别麻烦,

#not set (empty) means run by the group of current user

 

# after sync a file, usleep milliseconds

  3.
确立一个web站点(i1.abc.com)将该共享目录通过web站点发表出来。那样任何的使用就能访问到有关图片。

##  true for separated read and write

 

# default value is 0

    
 
 4. 图纸上传操作,照旧得经过Web服务器,那对Web服务器依旧有巨大的压力。

# store_path (disk), value can be 1 to 256, default value is 256

      2. 会导致一定的(读写和平安)品质损失。

#
 则  use_storage_id参数必须设为true
在 tracker.conf 配置文件中
#  storage_ids.conf文件必须科学配置

store_path0=/data/fastdfs-storage      
   #存款和储蓄路径
#store_path1=/data/fastdfs-storage2

# default value is 0

 

# the buff size to recv / send data

# 网卡别称前缀 在linux上
你能够透过ifconfig -a 看到它
# 多少个小名必要用逗号隔开分离
# 空值表示依照操作系统类型自动安装

# since V2.00

# default value is 1

# other: call fsync when written bytes >= this bytes

#一经
注释大概去除这一个参数,而从tracker那里获取分组音讯

# if use connection pool

# connections whose the idle time exceeds this time will be closed

# 与法斯特DHT servers
的连年格局 (是或不是为持久连接) ,默许是0(短连接情势)
# 能够设想使用长连接,那要看法斯特DHT
server的连接数是或不是够用

 

heart_beat_interval=30

 

disk_rw_separated = true
# 磁盘是还是不是 读写分离
# false为读写混合  true为读写分离
# 暗中同意读写分离

安顿文件分为三部分
  
控制器:tracker.conf
存储器:storage.conf

# default value is hash

# max concurrent connections the server supported

# thread stack size, should >= 512KB

# empty for bind all addresses of this host

# disk usage report interval in seconds

#
是或不是检查和测试上传文件已经存在。若是已经存在,则不存款和储蓄文件内容
# 法斯特DHT 建立二个符号链接
以节约磁盘空间。 

# if check file duplicate, when set to true, use FastDHT to store file
indexes

 

# unit: second

# default value is false

# namespace for storing file indexes (key-value pairs)

#unix username to run this program,

# is this config file disabled
# false for enabled
# true for disabled
disabled=false        false为生效,true不生效

# rotate error log when the log file exceeds this size

port=23000

# default value is 0

# default value is 00:00

sync_stat_file_interval=300
#
把storage的stat文件同步到磁盘的时光距离,单位为秒。
#
注:假如stat文件内容从未变动,不会开展联合

# since V4.02

# allow_hosts=10.0.1.[1-15,20]

# sync binlog buff / cache to disk every interval seconds

thread_stack_size=512KB
#
线程栈的分寸。法斯特DFS server端选择了线程方式。
#
对于V1.x,storage
server线程栈不应小于512KB;对于V2.0,线程栈大于等于128KB即可。
#
线程栈越大,三个线程占用的系统能源就越来越多。
#
对于V1.x,借使要开动越多的线程(max_connections),能够适度下落本参数值。

 

### crit for critical

# 0 means never rotates log file by log file size

 

rotate_error_log_size = 0
# error
log按文件大小轮转
#
设置为0表示不按文件大小轮转,不然当error
log达到该大小,就会轮转到新文件中

# default value is 500

sync_interval=0
#
同步上多少个文件后,再一并下三个文书的时间距离,单位为微秒,0代表不休眠,直接同步下三个文件

# default value is false

# 是或不是定期轮转access
log,近来仅补助一天轮转三回

## md5: MD5 signature

store_path0=/home/yuqing/fastdfs

 

客户端:client.conf

文本地点:/etc/fdfsstorage.conf

# the port of the web server on this storage server

# the name of the group this storage server belongs to

 

# Hour from 0 to 23, Minute from 0 to 59

# if skip the invalid record when sync file

# valid when file_distribute_to_path is set to 0 (round robin), 

# default value is 64KB

 

#
tracker_server 的地址列表 要写端口的 (再度提示是一往直前连接tracker_server
)
#
有多个tracker server时,每个tracker server写一行

# multi aliases split by comma. empty value means auto set by OS type

tracker_server=192.168.209.121:22122

 

# since V4.00

#
存款和储蓄每一日一起的扫尾时间 (暗中认可是23:59结束) 
# 一般用于制止高峰同步发生部分题材而设定

#not set (empty) means run by current user

sync_start_time=00:00
# 存款和储蓄每日一起的发端时间 (暗中认可是00:00始发) 
# 一般用来防止高峰同步爆发部分标题而设定

# this item must be set when check_file_duplicate is true / on

client_bind=true

http.server_port=8888
# 存款和储蓄服务器 使用的web端口 

# since V4.02

# and storage_ids.conf must be configed correctly.

# true for binding the address configed by above parameter:
“bind_addr”

error_log_rotate_time=00:00

# 是还是不是定期轮转error
log,近年来仅扶助一天轮转三遍

# default value is 0 (short connection)

# 0: round robin(default)

 

 

#unix group name to run this program, 

# if rotate the error log every day

# since V2.00

# default value is true

group_name=group1

# network timeout in seconds

 

# since V4.07

fsync_after_written_bytes=0
#
当写入大文件时,每写入N个字节,调用3回系统函数fsync将内容强行同步到硬盘。0表示没有调用fsync
 
# 其余值表示 写入字节为此值时,调用fsync函数

 

# if bind an address of this host when connect to other servers 

# 0 for sync successively (never call usleep)

### notice

 

# call fsync to disk when write big file

#standard log level as syslog, case insensitive, value list:

# since V2.00

# more max_connections means more memory will be used

#
同步完N个公文后,把storage的mark文件同步到磁盘
#
注:要是mark文件内容从未变化,则不会一起

file_sync_skip_invalid_record=false
#
文件同步的时候,是或不是忽略无效的binlog记录

log_file_keep_days = 0
# 是还是不是保留日志文件
# 0 为不删除旧日志文件

use_connection_pool = false
# 是还是不是选取连接池

sync_binlog_buff_interval=10
#
同步binglog(更新操作日志)到硬盘的时间间隔,单位为秒
#
本参数会潜移默化新上传文件同步延迟时间

# pure filename, the base path is the base path of current/this config
file.

bind_addr=
# 绑定ip地址,空值为主机上任哪个地点址

#
那一个应用要合营法斯特DHT 使用,所以打开前要先安装法斯特DHT 
#
1或yes 是检查和测试, 0或no 是不检查和测试

 

# since V4.02

buff_size = 256KB
# 发送/接收 数据的缓冲区大小
# 此参数必须超越8KB
# 设置队列结点的buffer大小。工作行列消耗的内部存款和储蓄器大小
= buff_size * max_connections
#
设置得大学一年级些,系统总体品质会具备升级。
#
消耗的内部存款和储蓄器请不要跨越系统物理内部存储器大小。其余,对于三112位系统,请小心选用到的内部存储器不要超越3GB

# the storage server port     存款和储蓄服务端口

access_log_rotate_time=00:00
# access
log定期轮转的时间点,只有当rotate_access_log设置为true时有效

 

# must set FastDHT server list when check_file_duplicate is true / on

tracker_server=192.168.116.145:22122      
(主动连接tracker_server
)
                       # tracker 服务器的
IP地址和端口号,假若是单机搭建,IP不要写127.0.0.1,不然运维不成事。
http.server_port=8888          
                   #设置 http 端口号

# error
log定期轮转的时间点,唯有当rotate_error_log设置为true时有效

# since V4.05

# 1: random, distributted by hash code

# default value is 3600

##include /home/yuqing/fastdht/conf/fdht_servers.conf
# 你能够选用  “#include
filename”指令(不包含双引号)来加载 法斯特DHT服务列表
# 文件名是二个相对路径 比如三个纯粹的文书名
# 主路径是现阶段安顿文件的主路径
# 必须设置法斯特DHT服务列表
当此 check_file_duplicate 参数
是true / on
# 越多新闻 参考法斯特DHT 的安装文件

# rotate error log time base, time format: Hour:Minute

# default value is 300 seconds

# default value is false

key_namespace=FastDFS
# 存款和储蓄文件符号连接的命名空间
# check_file_duplicate
参数必须安装为  true / on

rotate_access_log = false

# storage sync start time of a day, time format: Hour:Minute

# since V2.00

# when the written file count reaches this number, then rotate to next
path

 

### alert

# work thread count, should <= max_connections

# rotate access log when the log file exceeds this size

# you can use “#include filename” (not include double quotes)
directive to 

file_distribute_rotate_count=100

# since V2.00

run_by_user=
#
操作系统运营FastDFS的用户 (不填就是当下用户,哪个运营进度就是哪些)

file_signature_method=hash
#
检查文件再次时,文件内容的署名格局:
##
hash: 4个hash code
##
md5:MD5

# if log to access log

connect_timeout=30

# the lower this value, the higher its uploading priority.

# 关闭 闲置连接的 时间
# 默认3600秒

#
允许连接本storage server的IP地址列表
(不包罗自带HTTP服务的享有连接)
# 能够配备多行,每行都会起效果

 

# comment or remove this item for fetching from tracker server,

connection_pool_max_idle_time = 3600

# default value is false

disk_writer_threads = 1
#
针对种种个存款和储蓄路径的写线程数,缺省值为1
#
读写混合时 此值设为0
#
读写分离时,系统中的写线程数 = disk_writer_threads *
store_path_count
#
读写混合时,系统中的读写线程数 = (disk_reader_threads +
disk_writer_threads) * store_path_count

# tracker_server can ocur more than once, and tracker_server format
is

# (this storage server as a client)

# default value is 10

storage.conf

 

 

# default value is 60 seconds

# default values is empty

use_access_log = false
# 是不是将文件操作记录到access
log

 

# disk writer thread count per store base path

# the priority as a source server for uploading file.

# sync log buff to disk every interval seconds

 

# default value is 00:00

### error

keep_alive=0

 

# subdir_count  * subdir_count directories will be auto created
under each 

#store_path1=/home/yuqing/fastdfs2
#
逐一配置store_path的途径,索引号基于0。注意布署情势后边有0,1,2
……,要求配置0到store_path – 1。
#
要是不布置base_path0,那边它就和base_path对应的不二法门一样。
# 路径必须存在

### emerg for emergency

# 心跳间隔时间,单位为秒
(那里是指主动向tracker server 发送心跳)

# bind an address of this host

# must > 0, default value is 200ms

# default value is false

 

 

stat_report_interval=60
# storage server向tracker
server报告磁盘剩余空间的小运间隔,单位为秒

# accept thread count

# false for binding any address of this host

sync_wait_msec=50
#
同步文件时,要是从binlog中从未读到要一起的公文,休眠N纳秒后重新读取。0代表不休眠,马上再一次尝试读取。
#
出于CPU消耗考虑,不建议安装为0。怎样希望一起尽恐怕快一些,能够将本参数设置得小一些,比如设置为10ms

 

 

# since V4.05

# for mixed read / write, this parameter can be 0

disk_reader_threads = 1
#
针对每一种个存款和储蓄路径的读线程数,缺省值为1
# 读写混合时 此值设为0
#
读写分离时,系统中的读线程数 = disk_reader_threads *
store_path_count
#
读写混合时,系统中的读写线程数 = (disk_reader_threads +
disk_writer_threads) * store_path_count

sync_log_buff_interval=10
#
同步或刷新日志音信到硬盘的时辰距离,单位为秒
#
注意:storage server
的日志新闻不是随时写硬盘的,而是先写内部存储器

# else this domain name will ocur in the url redirected by the tracker
server

base_path=/home/yuqing/fastdfs
# base_path
目录地址,根目录必须存在  子目录会自动生成
#(注
:那里不是上传的文书存放的地址,在此之前是的,在有些版本后改成了)

# work thread deal network io

if_alias_prefix=

### warn for warning

# since V4.02

# default value is 1

 

 

# since V4.00

#

# 假设存款和储蓄服务器域名是空的 则使用ip地址
# storage
server上web server域名,日常仅针对单身安顿的web server
# 那样U宝马7系L中就足以因此域超级模特式来拜会storage
server上的文件了

# storage sync end time of a day, time format: Hour:Minute

 

 

# the paths must be exist

 

 

# 日志级别

work_threads=4
# V2.0引入的这几个参数,工作线程数
<=max_connections
# 此参数 处理 网络的 I/O
# 平时设置为CPU数

# set keep_alive to 1 to enable persistent connection with FastDHT
servers

# when no entry to sync, try read binlog again after X milliseconds

# must > 0, default value is 10 seconds

network_timeout=60
#  storage server
网络超时时间,单位为秒。发送或接收数据时,
# 要是在逾期时间后还不能够发送或接收数据,则这次互联网通讯失败

## hash: four 32 bits hash code

subdir_count_per_path=256
# N*N 个
目录会自动创设 在 各类磁盘路径下
# 值 能够设为1-256 暗中认可256
#
FastDFS存款和储蓄文件时,选用了两级目录。那里配置存放文件的目录个数
(系统的积存机制)
#
假使本参数只为N(如:256),那么storage server在第二运维时,会活动创设 N
* N 个存放文件的子目录。

# connect timeout in seconds          连接超时时间,针对socket套接字函数connect

rotate_error_log = false

 

日志类设置:

 

#
当上边的参数file_distribute_path_mode配置为0(轮流存放方式)时,本参数有效。
#
当2个索引下的公文存放的文件数达到本参数值时,后续上传的文书存款和储蓄到下1个索引中。

# allow_hosts can ocur more than once, host can be hostname or ip
address,

# keep days of the log files

# default value is 512KB

 

run_by_group=
#
操作系统运维法斯特DFS的用户组
(不填便是时下用户组,哪个运转进度正是哪个)

### debug

# default value is 30s

# path(disk or mount point) count, default value is 1

 

# rotate access log time base, time format: Hour:Minute

# store_path#, based 0, if store_path0 not exists, it’s value is
base_path

sync_end_time=23:59

# default value is 30s

file_distribute_path_mode=0
#  文件在data目录下散落储存策略。
#
0:
轮流存放,在1个索引下存款和储蓄装置的公文数后(参数file_distribute_rotate_count中安装文件数),使用下3个索引进行仓库储存。
#
1: 随机存款和储蓄,遵照文件名对应的hash code来分散储存

# since V4.02

write_mark_file_freq=500

着力配置(基础配置,不考虑性能调优情状下)
group_name=group1              
                #组名   指定 此 storage server 所在 组(卷)
port=23000
                                               # 存款和储蓄服务端口

# default value is 1

# 0: never call fsync

# default value is 0 (never call fsync)

# host[01-08,20-25].domain.com, for example:

# 0 or no: do not check

 

# load FastDHT server list, when the filename is a relative path such
as 

# if rotate the access log every day

 

# sync storage stat info to disk every interval seconds

# disk reader thread count per store base path

# default value is 256

# 0 means do not delete old log files

 

# default value is 4

# please see INSTALL of FastDHT for detail

 

store_path_count=1
# 存放文件时storage
server协理多少个路子(例如磁盘)
# 那里配置存放文件的基路径数目,平时只配一个索引

# the base path to store data and log files

# default value is 0

# 1 or yes: need check

log_level=info

check_file_duplicate=0

# allow_hosts=host[01-08,20-25].domain.com

base_path=/data/fastdfs-storage        
   #安装storage数据文件和日志目录,需预先创设
                       
目录下自动生成 多少个公文夹
                               
data  存款和储蓄新闻  
                               
logs   日志音信 
store_path_count=1            
                     #积存路径个数,须要和 store_path
个数匹配、

# in this case, use_storage_id must set to true in tracker.conf,

 

# this parameter must more than 8KB

# use the ip address of this storage server if domain_name is empty,

# since V4.01

accept_threads=1
# 接受线程数 ???  暗许为1 ???

# Hour from 0 to 23, Minute from 0 to 59

# for mixed read / write, this parameter can be 0

# file signature method for check file duplicate

# heart beat interval in seconds

#  “host:port”, host can be hostname or ip address

发表评论

电子邮件地址不会被公开。 必填项已用*标注