FastDFS5.02安装说明


目录

1 介绍

2 准备工作

2.1 设置固定ip

2.2 下载相关安装文件

3 安装篇

3.1 安装libfastcommon-master

3.2 安装 FastDFS

3.3 安装Nginx依赖

3.4 安装Nginx

4 配置篇

4.1 tracker.conf配置

4.2 storage.conf配置

4.3 ngnix.conf配置

4.4 mod_fastdfs.conf配置

4.5 client.conf配置

4.6 http.conf配置

5 测试

5.1 上传文件

5.2 下载文件

6 附录

6.1 tracker.conf配置内容

6.2 storage.conf配置内容

6.3 ngnix.conf配置内容

6.4 mod_fastdfs.conf配置内容

6.5 client.conf配置内容

 


1、介绍

本文档都是单节点设置,tracker、storage、nginx都在同一台服务器上。

2、准备工作

   1.建议安装之前先简单了解一下FastDFS的原理

   2.所用软件:

     Ubuntu14.04 server版

     libfastcommon-master.zip

     FastDFS_v5.02.tar.gz

     nginx-1.6.3.tar.gz

     fastdfs-nginx-module_v1.16.tar.gz

   3.建议使用root用户

   4.使用服务器地址:192.168.17.112

   5.在/home目录下创建tracker、storage、data、client文件夹


 2.1设置固定ip

  给192.168.17.112设定为固定Ip,具体步骤如下:

  1.找到文件并作如下修改:

   vim /etc/network/interfaces

   修改结果为如下部分:

   # This file describes the network interfaces available on your system

   # and how to activate them. For more information, see interfaces(5).

   # The loopback network interface

   auto lo

   iface lo inet loopback

   # The primary network interface

   auto p2p1

   iface p2p1 inet static

   address 192.168.17.112

   gateway 192.168.1.1

   netmask 255.255.255.0

   注:p2p1为192.168.17.112网卡名,不同服务器网卡名不同,请自行修改


  2. 修改dns解析

  因为以前是dhcp解析,所以会自动分配dns服务器地址

  而一旦设置为静态ip后就没有自动获取到的dns服务器了

  要自己设置一个

  vim /etc/resolv.conf

  nameserver 202.96.128.86

  nameserver 192.168.1.1

  nameserver 220.170.64.68

  3.改完上面,如果重启的话,还是会变为原来的样子,所以要让其永久改变,因此,执行:

  vim /etc/resolvconf/resolv.conf.d/base  

  nameserver 192.168.1.1

  nameserver 220.170.64.68

  3. 重启网卡:

  /etc/init.d/networking restart

 2.2下载相关安装文件

   略

3、安装篇

 3.1安装libfastcommon-master

   libfastcommon为fastdfs的依赖包。

   libfastcommon-master.zip下载地址https://github.com/happyfish100/libfastcommon

   下载完成后,将按照文件上传到/usr/local/src路径下,然后通过cp命令将其放置到安装路径/usr/local下,解压libfastcommon:

    unzip libfastcommon-master.zip 

    进入libfastcommon-master目录执行

    ./make.sh 

    ./make.sh install

    会出现如下内容:

 

    可以看到libfastcommon.so安装到了/usr/lib64/libfastcommon.so

    但是FastDFS主程序设置的lib目录是/usr/local/lib

    所以需要创建软链接:

    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

    ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

    ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so 

 3.2安装 FastDFS

   1、下载 FastDFS 源程序,下载地址 http://sourceforge.net/projects/fastdfs/,这里下载的是 FastDFS_v5.02.tar.gz,下载完成后,将按照文件上传到/usr/local/src路径下,然后通过cp命令将其放置到安装路径/usr/local下

   2、在 FastDFS_v5.02.tar.gz 所在文件夹下执行:

     tar vxzf FastDFS_v5.02.tar.gz 

   3、进入 /home/deploy/FastDFS 目录,执行:

    ./make.sh   

    ./make.sh install  

    如果运行如上命令后,在命令行信息最后看到类似

    恭喜你,已经安装成功了!


  3.3安装Nginx依赖

    安装 nginx时,需要安装nginx的依赖:

    apt-get install gcc

    apt-get install libpcre3 libpcre3-dev

    apt-get install libssl-dev

    apt-get install build-essential

  3.4下载fastdfs-nginx-module

   从https://github.com/happyfish100/fastdfs-nginx-module下载

   将fastdfs-nginx-module安装到/usr/local/路径下

   移动压缩包:

   cp /usr/local/src/fastdfs-nginx-module-master.zip /usr/local/

   解压文件:

   unzip fastdfs-nginx-module-master.zip

   重命名

   mv fastdfs-nginx-module-master fastdfs-nginx-module

  3.5安装Nginx

   将nginx安装到/usr/local/路径下

   移动压缩包:

   cp /usr/local/src/nginx-1.6.3.tar.gz /usr/local/

   解压文件:

   tar -xvzf nginx-1.6.3.tar.gz

   cd nginx-1.6.3

   然后执行命令:

   ./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src/

   make

   make install

4、配置篇

  默安装完成后,fastdfs默认的配置文件被放置在/etc/fdfs 目录下面,其中包括:

  Tracker.conf    负责均衡调度服务器配置文件

  Storage.conf    文件存储服务器配置文件

  Client.conf    客户端上传配置文件

  nginx.conf        Nginx配置文件

  cd  /usr/local/fastdfs-5.05/conf

  cp http.conf mime.types /etc/fdfs

 4.1tracker.conf配置

  A、修改/etc/fdfs/tracker.conf文件,修改如下:

  # bind an address of this host

  # empty for bind all addresses of this host

  bind_addr=192.168.17.112


  # the base path to store data and log files

  base_path= /usr/local/fastdfs-5.05 /tracker


  # max concurrent connections this server supported

  max_connections=1000


  # the method of selecting group to upload files

  # 0: round robin

  # 1: specify group

  # 2: load balance, select the max free space group to upload file

  store_lookup=1


  # which group to upload file

  # when store_lookup set to 1, must set store_group to the group name

  store_group=group1


  # HTTP服务是否不生效

  http.disabled=true

  B、进入/usr/local/bin/目录,启动tracker服务器,执行命令:

  fdfs_trackerd /etc/fdfs/tracker.conf  

  C、进入//usr/local/fastdfs-5.05/logs/trackerd.log查看tracker的启动日志命令:

  cat trackerd.log

  如果看到类似:

 

  恭喜你,tracker server已经启动成功!

 4.2storage.conf配置

  A、修改/etc/fdfs/storage.conf文件:

  # bind an address of this host

  # empty for bind all addresses of this host

  bind_addr=192.168.17.112


  # the base path to store data and log files

  base_path= /usr/local/fastdfs-5.05/storage


  # max concurrent connections the server supported

  # default value is 256

  # more max_connections means more memory will be used

  max_connections=1000


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

  store_path_count=1


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

  # the paths must be exist

  store_path0= /usr/local/fastdfs-5.05/data

  #store_path1=/home/yuqing/fastdfs2


  http.disabled=true


  group_name=group1  

 

  #修改成tracker server的IP和端口信息

  tracker_server=192.168.17.112:22122


  url_have_group_name = true


  B、进入/etc/fdfs/目录,启动storage服务器,执行

  fdfs_storaged  /etc/fdfs/storage.conf 

  C、进入//usr/local/fastdfs-5.05/logs/storage.log查看storage服务器启动日志: 

  cat storaged.log 

  如果看到类似信息:

 

  恭喜你,storage server已经启动成功!


  4.3ngnix.conf配置

  创建软链接:

  ln -s /usr/local/fastdfs-5.05/data  /usr/local/fastdfs-5.05/data/data/M00

  进入/usr/local/nginx/conf路径下,修改其配置文件:

  vi /usr/local/nginx/conf/nginx.conf

  添加:

  在http下添加

    upstream server_g1{                         

        server 192.168.17.112:80;               

    }

    在http--server下添加

    location /g1 { 

       proxy_redirect off;                                                                                              

       proxy_set_header Host $host;

       proxy_set_header X-Real-IP $remote_addr;

       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

       proxy_pass http://server_g1;                                                         

    }

    location /group1/M00 {

       root /usr/local/fastdfs-5.05 /data/data;

       ngx_fastdfs_module;

    }

   修改完毕配置文件,如果nginx处于启动状态,则使用以下重启命令:

   root@ubuntu224:/usr/local/nginx/sbin# ./nginx -s reload

   如果未启动nginx,则使用以下命令:

   cd /usr/local/nginx/sbin

   ./nginx

   确认80,23000端口已经监听

   netstat -ntl

 

   4.4mod_fastdfs.conf配置

   cd  /usr/local/fastdfs-nginx-module/src

   cp  mod_fastdfs.conf  /etc/fdfs/

   vi  /etc/fdfs/mod_fastdfs.conf

   配置内容如下:

   #访问文件的URI是否含有group名称  

   url_have_group_name=true  

   #Tracker服务器  

   tracker_server=192.168.17.112:22122

   store_path0= /usr/local/fastdfs-5.05/data

   storage_server_port=23000

   4.5client.conf配置


   FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。

   进入目录/etc/fdfs/修改Tracker服务器192.168.17.112下的配置文件 /etc/fdfs/client.conf:

   # the base path to store log files

   base_path= /usr/local/fastdfs-5.05/client

   #use "#include" directive to include HTTP other settiongs

   #include http.conf


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

   # "host:port", host can be hostname or ip address

   tracker_server=192.168.17.112:22122

   4.6http.conf配置

   无需配置

5、测试

  经过前面的安装、配置、启动,马上就可以看到FastDFS的效果了,我们先上传一个文件,然后再通过http下载。

  5.1上传文件

  进入/usr/local/bin目录,上传文件,执行:

  cp /var/tmp/guoyong.txt /usr/local/bin/

  cd /usr/local/bin

  fdfs_test /etc/fdfs/client.conf upload test.txt

  注: test.txt   从/var/tmp复制过来

  如果看到如下信息:

 

  恭喜你,上传文件成功!

  5.2下载文件

  在浏览器中,输入上图中的url地址http://192.168.17.112/group1/M00/00/00/wKgRcFV_wf-AD3BmAAAVT0Z5tmk587_big.txt, tracker server会自动重定向到存储文件的storage server,文件下载成功。

  至此,已经成功搭建了FastDFS,编写你自己的client来进行访问吧:)

6、附录

6.1tracker.conf配置内容

# is this config file disabled

# false for enabled

# true for disabled

disabled=false


# bind an address of this host

# empty for bind all addresses of this host

bind_addr=192.168.17.112


# the tracker server port

port=22122


# connect timeout in seconds

# default value is 30s

connect_timeout=30


# network timeout in seconds

# default value is 30s

network_timeout=60


# the base path to store data and log files

base_path=//usr/local/fastdfs-5.05/tracker


# max concurrent connections this server supported

max_connections=1000


# accept thread count

# default value is 1

# since V4.07

accept_threads=1


# work thread count, should <= max_connections

# default value is 4

# since V2.00

work_threads=4


# the method of selecting group to upload files

# 0: round robin

# 1: specify group

# 2: load balance, select the max free space group to upload file

store_lookup=1


# which group to upload file

# when store_lookup set to 1, must set store_group to the group name

store_group=group1


# which storage server to upload file

# 0: round robin (default)

# 1: the first server order by ip address

# 2: the first server order by priority (the minimal)

store_server=0


# which path(means disk or mount point) of the storage server to upload file

# 0: round robin

# 2: load balance, select the max free space path to upload file

store_path=0


# which storage server to download file

# 0: round robin (default)

# 1: the source storage server which the current file uploaded to

download_server=0


# reserved storage space for system or other applications.

# if the free(available) space of any stoarge server in 

# a group <= reserved_storage_space, 

# no file can be uploaded to this group.

# bytes unit can be one of follows:

### G or g for gigabyte(GB)

### M or m for megabyte(MB)

### K or k for kilobyte(KB)

### no unit for byte(B)

### XX.XX% as ratio such as reserved_storage_space = 10%

reserved_storage_space = 10%


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

### emerg for emergency

### alert

### crit for critical

### error

### warn for warning

### notice

### info

### debug

log_level=info


#unix group name to run this program, 

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

run_by_group=


#unix username to run this program,

#not set (empty) means run by current user

run_by_user=


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

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

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

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

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

allow_hosts=*


# sync log buff to disk every interval seconds

# default value is 10 seconds

sync_log_buff_interval = 10


# check storage server alive interval seconds

check_active_interval = 120


# thread stack size, should >= 64KB

# default value is 64KB

thread_stack_size = 64KB


# auto adjust when the ip address of the storage server changed

# default value is true

storage_ip_changed_auto_adjust = true


# storage sync file max delay seconds

# default value is 86400 seconds (one day)

# since V2.00

storage_sync_file_max_delay = 86400


# the max time of storage sync a file

# default value is 300 seconds

# since V2.00

storage_sync_file_max_time = 300


# if use a trunk file to store several small files

# default value is false

# since V3.00

use_trunk_file = true


# the min slot size, should <= 4KB

# default value is 256 bytes

# since V3.00

slot_min_size = 256


# the max slot size, should > slot_min_size

# store the upload file to trunk file when it's size <=  this value

# default value is 16MB

# since V3.00

slot_max_size = 16MB


# the trunk file size, should >= 4MB

# default value is 64MB

# since V3.00

trunk_file_size = 64MB


# if create trunk file advancely

# default value is false

# since V3.06

trunk_create_file_advance = false


# the time base to create trunk file

# the time format: HH:MM

# default value is 02:00

# since V3.06

trunk_create_file_time_base = 02:00


# the interval of create trunk file, unit: second

# default value is 38400 (one day)

# since V3.06

trunk_create_file_interval = 86400


# the threshold to create trunk file

# when the free trunk file size less than the threshold, will create 

# the trunk files

# default value is 0

# since V3.06

trunk_create_file_space_threshold = 20G


# if check trunk space occupying when loading trunk free spaces

# the occupied spaces will be ignored

# default value is false

# since V3.09

# NOTICE: set this parameter to true will slow the loading of trunk spaces 

# when startup. you should set this parameter to true when neccessary.

trunk_init_check_occupying = false


# if ignore storage_trunk.dat, reload from trunk binlog

# default value is false

# since V3.10

# set to true once for version upgrade when your version less than V3.10

trunk_init_reload_from_binlog = false


# the min interval for compressing the trunk binlog file

# unit: second

# default value is 0, 0 means never compress

# FastDFS compress the trunk binlog when trunk init and trunk destroy

# recommand to set this parameter to 86400 (one day)

# since V5.01

trunk_compress_binlog_min_interval = 0


# if use storage ID instead of IP address

# default value is false

# since V4.00

use_storage_id = false


# specify storage ids filename, can use relative or absolute path

# since V4.00

storage_ids_filename = storage_ids.conf


# id type of the storage server in the filename, values are:

## ip: the ip address of the storage server

## id: the server id of the storage server

# this paramter is valid only when use_storage_id set to true

# default value is ip

# since V4.03

id_type_in_filename = ip


# if store slave file use symbol link

# default value is false

# since V4.01

store_slave_file_use_link = false


# if rotate the error log every day

# default value is false

# since V4.02

rotate_error_log = false


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

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

# default value is 00:00

# since V4.02

error_log_rotate_time=00:00


# rotate error log when the log file exceeds this size

# 0 means never rotates log file by log file size

# default value is 0

# since V4.02

rotate_error_log_size = 0


# if use connection pool

# default value is false

# since V4.05

use_connection_pool = false


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

# unit: second

# default value is 3600

# since V4.05

connection_pool_max_idle_time = 3600


# HTTP port on this tracker server

http.server_port=8080


http.disabled=true

# HTTP服务是否不生效


# check storage HTTP server alive interval seconds

# <= 0 for never check

# default value is 30

http.check_alive_interval=30


# check storage HTTP server alive type, values are:

#   tcp : connect to the storge server with HTTP port only, 

#        do not request and get response

#   http: storage check alive url must return http status 200

# default value is tcp

http.check_alive_type=tcp


# check storage HTTP server alive uri/url

# NOTE: storage embed HTTP server support uri: /status.html

http.check_alive_uri=/status.html


6.2storage.conf配置内容

# is this config file disabled

# false for enabled

# true for disabled

disabled=false


# the name of the group this storage server belongs to

group_name=group1


# bind an address of this host

# empty for bind all addresses of this host

bind_addr=192.168.17.112


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

# (this storage server as a client)

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

# false for binding any address of this host

client_bind=true


# the storage server port

port=23000


# connect timeout in seconds

# default value is 30s

connect_timeout=30


# network timeout in seconds

# default value is 30s

network_timeout=60


# heart beat interval in seconds

heart_beat_interval=30


# disk usage report interval in seconds

stat_report_interval=60


# the base path to store data and log files

base_path=//usr/local/fastdfs-5.05/storage


# max concurrent connections the server supported

# default value is 256

# more max_connections means more memory will be used

max_connections=1000


# the buff size to recv / send data

# this parameter must more than 8KB

# default value is 64KB

# since V2.00

buff_size = 256KB


# accept thread count

# default value is 1

# since V4.07

accept_threads=1


# work thread count, should <= max_connections

# work thread deal network io

# default value is 4

# since V2.00

work_threads=4


# if disk read / write separated

##  false for mixed read and write

##  true for separated read and write

# default value is true

# since V2.00

disk_rw_separated = true


# disk reader thread count per store base path

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

# default value is 1

# since V2.00

disk_reader_threads = 1


# disk writer thread count per store base path

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

# default value is 1

# since V2.00

disk_writer_threads = 1


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

# must > 0, default value is 200ms

sync_wait_msec=50


# after sync a file, usleep milliseconds

# 0 for sync successively (never call usleep)

sync_interval=0


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

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

sync_start_time=00:00


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

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

sync_end_time=23:59


# write to the mark file after sync N files

# default value is 500

write_mark_file_freq=500


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

store_path_count=1


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

# the paths must be exist

store_path0=//usr/local/fastdfs-5.05/data

#store_path1=/home/yuqing/fastdfs2


# subdir_count  * subdir_count directories will be auto created under each 

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

subdir_count_per_path=256


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

#  "host:port", host can be hostname or ip address

tracker_server=192.168.17.112:22122


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

### emerg for emergency

### alert

### crit for critical

### error

### warn for warning

### notice

### info

### debug

log_level=info


#unix group name to run this program, 

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

run_by_group=


#unix username to run this program,

#not set (empty) means run by current user

run_by_user=


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

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

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

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

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

allow_hosts=*


# the mode of the files distributed to the data path

# 0: round robin(default)

# 1: random, distributted by hash code

file_distribute_path_mode=0


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

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

# default value is 100

file_distribute_rotate_count=100


# call fsync to disk when write big file

# 0: never call fsync

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

# default value is 0 (never call fsync)

fsync_after_written_bytes=0


# sync log buff to disk every interval seconds

# must > 0, default value is 10 seconds

sync_log_buff_interval=10


# sync binlog buff / cache to disk every interval seconds

# default value is 60 seconds

sync_binlog_buff_interval=10


# sync storage stat info to disk every interval seconds

# default value is 300 seconds

sync_stat_file_interval=300


# thread stack size, should >= 512KB

# default value is 512KB

thread_stack_size=512KB


# the priority as a source server for uploading file.

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

# default value is 10

upload_priority=10


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

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

# default values is empty

if_alias_prefix=


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

# 1 or yes: need check

# 0 or no: do not check

# default value is 0

check_file_duplicate=0


# file signature method for check file duplicate

## hash: four 32 bits hash code

## md5: MD5 signature

# default value is hash

# since V4.01

file_signature_method=hash


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

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

key_namespace=FastDFS


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

# default value is 0 (short connection)

keep_alive=0


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

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

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

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

# please see INSTALL of FastDHT for detail

##include /home/yuqing/fastdht/conf/fdht_servers.conf


# if log to access log

# default value is false

# since V4.00

use_access_log = false


# if rotate the access log every day

# default value is false

# since V4.00

rotate_access_log = false


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

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

# default value is 00:00

# since V4.00

access_log_rotate_time=00:00


# if rotate the error log every day

# default value is false

# since V4.02

rotate_error_log = false


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

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

# default value is 00:00

# since V4.02

error_log_rotate_time=00:00


# rotate access log when the log file exceeds this size

# 0 means never rotates log file by log file size

# default value is 0

# since V4.02

rotate_access_log_size = 0


# rotate error log when the log file exceeds this size

# 0 means never rotates log file by log file size

# default value is 0

# since V4.02

rotate_error_log_size = 0


# if skip the invalid record when sync file

# default value is false

# since V4.02

file_sync_skip_invalid_record=false


# if use connection pool

# default value is false

# since V4.05

use_connection_pool = false


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

# unit: second

# default value is 3600

# since V4.05

connection_pool_max_idle_time = 3600


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

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

http.domain_name=


# the port of the web server on this storage server

http.server_port=8888


http.disabled=true



6.3ngnix.conf配置内容


#user  nobody;

worker_processes  1;


#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;


#pid        logs/nginx.pid;



events {

    worker_connections  1024;

}



http {

    include       mime.types;

    default_type  application/octet-stream;


    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

    #                  '$status $body_bytes_sent "$http_referer" '

    #                  '"$http_user_agent" "$http_x_forwarded_for"';


    #access_log  logs/access.log  main;


    sendfile        on;

    #tcp_nopush     on;


    #keepalive_timeout  0;

    keepalive_timeout  65;


    #gzip  on;


   # upstream fdfs_group1 {

# server 192.168.17.112:80 weight=1 max_fails=2 fail_timeout=30s;

 #   }

    server {

        listen       80;

        server_name  localhost;


        #charset koi8-r;


        #access_log  logs/host.access.log  main;


location /group1/M00 {

            root //usr/local/fastdfs-5.05/data/data;

            ngx_fastdfs_module;

    }


        location / {

            root   html;

            index  index.html index.htm;

        }


        #error_page  404              /404.html;


        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }


        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass   http://127.0.0.1;

        #}


        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        #location ~ \.php$ {

        #    root           html;

        #    fastcgi_pass   127.0.0.1:9000;

        #    fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

        #    include        fastcgi_params;

        #}


        # deny access to .htaccess files, if Apache's document root

        # concurs with nginx's one

        #

        #location ~ /\.ht {

        #    deny  all;

        #}

    }



    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen       8000;

    #    listen       somename:8080;

    #    server_name  somename  alias  another.alias;


    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}



    # HTTPS server

    #

    #server {

    #    listen       443 ssl;

    #    server_name  localhost;


    #    ssl_certificate      cert.pem;

    #    ssl_certificate_key  cert.key;


    #    ssl_session_cache    shared:SSL:1m;

    #    ssl_session_timeout  5m;


    #    ssl_ciphers  HIGH:!aNULL:!MD5;

    #    ssl_prefer_server_ciphers  on;


    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}


}


6.4mod_fastdfs.conf配置内容

# connect timeout in seconds

# default value is 30s

connect_timeout=2


# network recv and send timeout in seconds

# default value is 30s

network_timeout=30


# the base path to store log files

base_path=//usr/local/fastdfs-5.05/mod_fastdfs


# if load FastDFS parameters from tracker server

# since V1.12

# default value is false

load_fdfs_parameters_from_tracker=true


# storage sync file max delay seconds

# same as tracker.conf

# valid only when load_fdfs_parameters_from_tracker is false

# since V1.12

# default value is 86400 seconds (one day)

storage_sync_file_max_delay = 86400


# if use storage ID instead of IP address

# same as tracker.conf

# valid only when load_fdfs_parameters_from_tracker is false

# default value is false

# since V1.13

use_storage_id = false


# specify storage ids filename, can use relative or absolute path

# same as tracker.conf

# valid only when load_fdfs_parameters_from_tracker is false

# since V1.13

storage_ids_filename = storage_ids.conf


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

#  "host:port", host can be hostname or ip address

# valid only when load_fdfs_parameters_from_tracker is true

tracker_server=192.168.17.112:22122


# the port of the local storage server

# the default value is 23000

storage_server_port=23000


# the group name of the local storage server

group_name=group1


# if the url / uri including the group name

# set to false when uri like /M00/00/00/xxx

# set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx

# default value is false

url_have_group_name = true


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

# must same as storage.conf

store_path_count=1


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

# the paths must be exist

# must same as storage.conf

store_path0=/home/fasfdfs/data

#store_path1=/home/yuqing/fastdfs1


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

### emerg for emergency

### alert

### crit for critical

### error

### warn for warning

### notice

### info

### debug

log_level=info


# set the log filename, such as /usr/local/apache2/logs/mod_fastdfs.log

# empty for output to stderr (apache and nginx error_log file)

log_filename=


# response mode when the file not exist in the local file system

## proxy: get the content from other storage server, then send to client

## redirect: redirect to the original storage server (HTTP Header is Location)

response_mode=proxy


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

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

# this paramter used to get all ip address of the local host

# default values is empty

if_alias_prefix=


# use "#include" directive to include HTTP config file

# NOTE: #include is an include directive, do NOT remove the # before include

#include http.conf



# if support flv

# default value is false

# since v1.15

flv_support = true


# flv file extension name

# default value is flv

# since v1.15

flv_extension = flv



# set the group count

# set to none zero to support multi-group

# set to 0  for single group only

# groups settings section as [group1], [group2], ..., [groupN]

# default value is 0

# since v1.14

group_count = 1


# group settings for group #1

# since v1.14

# when support multi-group, uncomment following section

[group1]

group_name=group1

storage_server_port=23000

store_path_count=1

store_path0=//usr/local/fastdfs-5.05/data

#store_path1=/home/yuqing/fastdfs1


# group settings for group #2

# since v1.14

# when support multi-group, uncomment following section as neccessary

#[group2]

#group_name=group2

#storage_server_port=23000

#store_path_count=1

#store_path0=/home/yuqing/fastdfs



6.5client.conf配置内容

# connect timeout in seconds

# default value is 30s

connect_timeout=30


# network timeout in seconds

# default value is 30s

network_timeout=60


# the base path to store log files

base_path=//usr/local/fastdfs-5.05/client


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

#  "host:port", host can be hostname or ip address

tracker_server=192.168.17.112:22122


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

### emerg for emergency

### alert

### crit for critical

### error

### warn for warning

### notice

### info

### debug

log_level=info


# if use connection pool

# default value is false

# since V4.05

use_connection_pool = false


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

# unit: second

# default value is 3600

# since V4.05

connection_pool_max_idle_time = 3600


# if load FastDFS parameters from tracker server

# since V4.05

# default value is false

load_fdfs_parameters_from_tracker=false


# if use storage ID instead of IP address

# same as tracker.conf

# valid only when load_fdfs_parameters_from_tracker is false

# default value is false

# since V4.05

use_storage_id = false


# specify storage ids filename, can use relative or absolute path

# same as tracker.conf

# valid only when load_fdfs_parameters_from_tracker is false

# since V4.05

storage_ids_filename = storage_ids.conf



#HTTP settings

http.tracker_server_port=80


#use "#include" directive to include HTTP other settiongs

#include http.conf


你可能感兴趣的:(FastDFS5.02安装说明)