FastDFS安装文档

第一章

1-1 常用存储

图片

1-2 FastDFS简介

Fastdfs是一个开源的轻量级分布式文件系统,只能通过专有的api访问(C,

java,php), 主要解决了海量数据存储问题,特别适合以文件为主体的在线服务,如相册的网站,视频网站,听书,组成部分:1.由跟踪服务器(tracker server),2.存储服务器(storage server)3.客户端(client)三部分组成,应用场景特别适合中小文件(>4kb <500MB)

1-3 FastDFS组成部分

图片

1-4 小结:

1-4-5 Tracker-Server

负责保存storager的元信息,以及调度的工作,在访问上起到了负载均衡的作用,在内存中记录集群group和storage的状态信息,Tracker Server的性能非常高,一个大的集群(比如上百个group),一般俩台就够了

1-4-6 Storage

数据存储位置,存储的时候可以分成多个group,会按照原来的文件方式存储,只不过追踪服务器会把文件名重命名,每个group里面的数据都是相同的,相当于read1,各个group是不通信的,追踪服务器可以起多个

1-5 上传原理

图片

第二章 FastDFS集群规划2-1 环境搭建与主机说明

[root@localhost ~]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

[root@localhost ~]# uname -r

3.10.0-327.el7.x86_64

[root@localhost ~]# uname -m

x86_64

2-2 主机名规划

10.98.41.7   tracker-server01
10.98.41.8   tracker-server02
10.98.41.77  storage01
10.98.41.78  storage02
10.98.41.79  storage03

2-3 服务器ip规划

ipport路径说明
10.98.41.722122/etc/fdfs 主配置文件tracker追踪服务器
10.98.41.822122/etc/fdfstracker追踪服务器
10.98.41.7723000/etc/fdfsstorage存储服务器
10.98.41.7823000/etc/fdfsstorage存储服务器
10.98.41.7923000/etc/fdfsstorage存储服务器

第三章 安装FastDFS分布式文件系统3-1 基础包安装

yum install gcc gcc-c++ -y
yum install tree lsof lrzsz net-tools –y
systemctl stop firewalld #关闭防火墙,Selinux,同步时间
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.36.tar.gz
tar zxf V1.0.36.tar.gz
cd libfastcommon-1.0.36
./make.sh
./make.sh install

3-2 编译安装FastDFS_tracker节点:

wget https://github.com/happyfish100/fastdfs/archive/V5.08.tar.gz
tar zxf V5.08.tar.gz
cd fastdfs-5.08/
./make.sh
./make.sh install

3-3 编译安装FastDFS_storage节点

wget https://github.com/happyfish100/fastdfs/archive/V5.08.tar.gz
tar zxf V5.08.tar.gz
cd fastdfs-5.08/
./make.sh
./make.sh install

3-4 安装测试

[root@tracker-server01 ~]# /etc/init.d/fdfs_trackerd start

[root@tracker-server01 ~]# ps -ef |grep fdfs_trackerd|egrep -v “grep”
root 3953 1 0 8月10 ? 00:01:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

[root@tracker-server01 ~]# lsof -i :22122

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

fdfs_trac 3953 root 5u IPv4 54361 0t0 TCP *:22122 (LISTEN)

fdfs_trac 3953 root 18u IPv4 54477 0t0 TCP tracker-server01:22122->storage01:40423 (ESTABLISHED)

fdfs_trac 3953 root 19u IPv4 54494 0t0 TCP tracker-server01:22122->storage03:50435 (ESTABLISHED)

第四章 配置FastDFS分布式集群4-1 配置两台tracker节点

bind_addr=10.100.132.154  #ip
port=22122                #端口
connect_timeout=60        #连接超时时间
network_timeout=60        #网络超时时间
base_path=/data/fdfs_tracker/base  #存储数据和日志文件的路径
max_connections=20480     #最大并发连接
work_threads=6          #工作线程数,通常设置为CPU个数
reserved_storage_space = 2%  #保留磁盘空间

4-1-1 参数详细说明

# 这个配置文件是否无效,false表示有效
disabled=false
# 是否绑定IP
# bind_addr= 后面为绑定的IP地址 (经常使用于服务器有多个IP但仅仅希望一个IP提供服务)。假设不填则表示全部的(一般不填就OK)
bind_addr=
# 提供服务的端口
port=22122
# 连接超时时间,针对socket套接字函数connect
connect_timeout=30
# tracker server的网络超时,单位为秒。
network_timeout=60
base_path=/home/yuqing/fastdfs
# base_path 文件夹地址(根文件夹必须存在,子文件夹会自己主动创建)
# 附文件夹说明: 
#  tracker server文件夹及文件结构:
#  ${base_path}
#    |__data
#    |     |__storage_groups.dat:存储分组信息
#    |     |__storage_servers.dat:存储服务器列表
#    |__logs
#          |__trackerd.log:tracker server日志文件
#数据文件storage_groups.dat和storage_servers.dat中的记录之间以换行符(\n)分隔,字段之间以西文逗号(,)分隔。
#storage_groups.dat中的字段依次为:
#  1. group_name:组名
#  2. storage_port:storage server端口号
#storage_servers.dat中记录storage server相关信息,字段依次为:
#  1. group_name:所属组名
#  2. ip_addr:ip地址
#  3. status:状态
#  4. sync_src_ip_addr:向该storage server同步已有数据文件的源服务器
#  5. sync_until_timestamp:同步已有数据文件的截至时间(UNIX时间戳)
#  6. stat.total_upload_count:上传文件次数
#  7. stat.success_upload_count:成功上传文件次数
#  8. stat.total_set_meta_count:更改meta data次数
#  9. stat.success_set_meta_count:成功更改meta data次数
#  10. stat.total_delete_count:删除文件次数
#  11. stat.success_delete_count:成功删除文件次数
#  12. stat.total_download_count:下载文件次数
#  13. stat.success_download_count:成功下载文件次数
#  14. stat.total_get_meta_count:获取meta data次数
#  15. stat.success_get_meta_count:成功获取meta data次数
#  16. stat.last_source_update:近期一次源头更新时间(更新操作来自客户端)
#  17. stat.last_sync_update:近期一次同步更新时间(更新操作来自其它storage server的同步)
# 系统提供服务时的最大连接数。
max_connections=256
#工作线程数,通常设置为CPU数
work_threads=4
# 上传组(卷) 的方式 0:轮询方式 1: 指定组 2: 平衡负载(选择最大剩余空间的组(卷)上传)
# 这里假设在应用层指定了上传到一个固定组,那么这个參数被绕过
# 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=2
# 当上一个參数设定为1 时 (store_lookup=1,即指定组名时),必须设置本參数为系统中存在的一个组名。假设选择其它的上传方式。这个參数就没有效了
# which group to upload file
# when store_lookup set to 1, must set store_group to the group name
store_group=group2
# 选择哪个storage server 进行上传操作(一个文件被上传后,这个storage server就相当于这个文件的storage server源,会对同组的storage server推送这个文件达到同步效果)
# 0: 轮询方式 
# 1: 依据ip 地址进行排序选择第一个服务器(IP地址最小者)
# 2: 依据优先级进行排序(上传优先级由storage server来设置,參数名为upload_priority)
# 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
# 选择storage server 中的哪个文件夹进行上传。
storage server能够有多个存放文件的base path(能够理解为多个磁盘)。

# 0: 轮流方式。多个文件夹依次存放文件
# 2: 选择剩余空间最大的文件夹存放文件(注意:剩余磁盘空间是动态的。因此存储到的文件夹或磁盘可能也是变化的)
store_path=0
# 选择哪个 storage server 作为下载服务器 
# 0: 轮询方式,能够下载当前文件的任一storage server
# 1: 哪个为源storage server 就用哪一个 (前面说过了这个storage server源 是怎样产生的) 就是之前上传到哪个storage server服务器就是哪个了
download_server=0
# storage server 上保留的空间,保证系统或其它应用需求空间。能够用绝对值或者百分比(V4開始支持百分比方式)。
#(指出 假设同组的服务器的硬盘大小一样,以最小的为准,也就是仅仅要同组中有一台服务器达到这个标准了,这个标准就生效,原因就是由于他们进行备份)
reserved_storage_space = 10%
# 选择日志级别
log_level=info
# 操作系统执行FastDFS的用户组 (不填 就是当前用户组,哪个启动进程就是哪个)
run_by_group=
# 操作系统执行FastDFS的用户 (不填 就是当前用户,哪个启动进程就是哪个)
run_by_user=
# 能够连接到此 tracker server 的ip范围(对全部类型的连接都有影响,包含客户端,storage server)
allow_hosts=*
# 同步或刷新日志信息到硬盘的时间间隔,单位为秒
sync_log_buff_interval = 10
# 检測 storage server 存活的时间隔,单位为秒。
check_active_interval = 120
# 线程栈的大小。
FastDFS server端採用了线程方式。
tracker server线程栈不应小于64KB
# 线程栈越大,一个线程占用的系统资源就越多。
假设要启动很多其它的线程(V1.x相应的參数为max_connections,
thread_stack_size = 64KB
# 这个參数控制当storage server IP地址改变时,集群是否自己主动调整。
注:仅仅有在storage server进程重新启动时才完毕自己主动调整
storage_ip_changed_auto_adjust = true
# V2.0引入的參数。存储服务器之间同步文件的最大延迟时间。缺省为1天。
依据实际情况进行调整
# 注:本參数并不影响文件同步过程。本參数仅在下载文件时,推断文件是否已经被同步完毕的一个阀值(经验值)
storage_sync_file_max_delay = 86400
# V2.0引入的參数。存储服务器同步一个文件须要消耗的最大时间。缺省为300s。即5分钟。
# 注:本參数并不影响文件同步过程。本參数仅在下载文件时,作为推断当前文件是否被同步完毕的一个阀值(经验值)
storage_sync_file_max_time = 300

#是否使用小文件合并存储特性,缺省是关闭的
use_trunk_file = false 
# V3.0引入的參数。

# trunk file分配的最小字节数。比方文件仅仅有16个字节。系统也会分配slot_min_size个字节
slot_min_size = 256
假设一个文件的大小大于这个參数值。将直接保存到一个文件里(即不採用合并存储方式)。
slot_max_size = 16MB
# V3.0引入的參数。
# 合并存储的trunk file大小,至少4MB,缺省值是64MB。
不建议设置得过大
trunk_file_size = 64MB
# 是否提前创建trunk file。仅仅有当这个參数为true,以下3个以trunk_create_file_打头的參数才有效
trunk_create_file_advance = false
# 提前创建trunk file的起始时间点(基准时间)。02:00表示第一次创建的时间点是凌晨2点
trunk_create_file_time_base = 02:00
# 创建trunk file的时间间隔,单位为秒。假设每天仅仅提前创建一次,则设置为86400
trunk_create_file_interval = 86400
# 提前创建trunk file时,须要达到的空暇trunk大小
# 比方本參数为20G。而当前空暇trunk为4GB,那么仅仅须要创建16GB的trunk file就可以
trunk_create_file_space_threshold = 20G
# trunk初始化时,是否检查可用空间是否被占用
trunk_init_check_occupying = false
# 是否无条件从trunk binlog中载入trunk可用空间信息
trunk_init_reload_from_binlog = false
# 是否使用server ID作为storage server标识
use_storage_id = false
# use_storage_id 设置为true,才须要设置本參数
storage_ids_filename = storage_ids.conf
#文件名称中的id类型,有ip和id两种,仅仅有当use_storage_id设置为true时该參数才有效
id_type_in_filename = ip
# 存储从文件是否採用symbol link(符号链接)方式
store_slave_file_use_link = false
# 是否定期轮转error log。眼下仅支持一天轮转一次
rotate_error_log = false
# error log定期轮转的时间点,仅仅有当rotate_error_log设置为true时有效
error_log_rotate_time=00:00
# error log按大小轮转
# 设置为0表示不按文件大小轮转。否则当error log达到该大小。就会轮转到新文件里
rotate_error_log_size = 0
# 是否使用连接池
use_connection_pool = false
# 假设一个连接的空暇时间超过这个值将会被自己主动关闭
connection_pool_max_idle_time = 3600
# 用于提供http服务的端口
http.server_port=8080
# 检查http server是否还在工作的时间间隔。假设该值小于0则永远不检查
http.check_alive_interval=30
# 检查http server是否存活的类型,有tcp和http两种
# tcp方式仅仅有http端口被连接
# http方式检查必须返回状态值200
http.check_alive_type=tcp

4-2 配置三台storage节点

group_name=ops
port=23000
base_path=/data/fdfs_storage/ops/base  #数据和log文件
max_connections=256 # 最大并发连接数
store_path0=/data/fdfs_storage/ops/store #实际文件存储路径
tracker_server=10.98.41.120:22122
tracker_server=10.98.41.121:22122
work_threads=4  # 工作线程数,默认4个,通常设置为CPU核数,效率最高

4-2-2 参数详细说明

#这个配置文件是否失效
disabled=false
 
# 本storage server所属的group名
group_name=group1
 
# 可以版定一个ip,默认为空,绑定所有ip
bind_addr=
 
# 本配置只有在bind_addr设置以后才生效
# 本机作为客户端访问其他服务时,是否使用绑定的ip去访问其他服务器
client_bind=true
 
# storage server监听端口
port=23000
 
# 连接超时时间,针对socket套接字函数connect,默认为30秒
connect_timeout=30
 
# 网络通讯超时时间,默认是60秒
network_timeout=60
 
# 向tracker server发送心跳时间间隔,默认30秒
heart_beat_interval=30
 
# 向tracker server汇报磁盘使用情况时间间隔,默认为60秒
stat_report_interval=60
 
# 工作文件夹,日志也存在此(这里不是上传的文件存放的地址)
base_path=/home/yuqing/fastdfs
 
# 本traceserver最大连接数
max_connections=256
 
# 发送或接收数据的buffer大小,工作队列消耗的内存大小 = buff_size * max_connections
# 建议这个设置大于8k,默认256k
buff_size = 256KB
 
# 接收数据的线程数
# 默认1个
# since V4.07
accept_threads=1
 
# 工作线程数,小于max_connections
# 默认4个,通常设置为CPU核数,效率最高
work_threads=4
 
# 磁盘读写是否分离,默认为true
disk_rw_separated = true
 
# 磁盘读取的线程数(每个工作文件夹)
# 对于磁盘读写不分离的模式,这个参数可以设置为0
# 默认为1
disk_reader_threads = 1
 
# 磁盘写的线程数(每个工作文件夹)
# 对于磁盘读写不分离的模式,这个参数可以设置为0
# 默认为1
disk_writer_threads = 1
 
# 当发现没有需要同步的文件时,需要等待sync_wait_msec毫秒再去binlog中检查
# 不能设置为0,默认为50毫秒
sync_wait_msec=50
 
# 同步完一个文件后,休眠sync_interval毫秒后继续同步下一个文件
sync_interval=0
 
# 允许存储同步的开始时间
# Hour from 0 to 23, Minute from 0 to 59
sync_start_time=00:00
 
# 允许存储同步的结束时间,也就是说,storage server只能在sync_start_time到sync_end_time这段时间内同步数据
# 默认是全天都可以同步
# Hour from 0 to 23, Minute from 0 to 59
sync_end_time=23:59
 
# 同步完write_mark_file_freq个文件后,如果markfile有变化,将mark file写入磁盘
write_mark_file_freq=500
 
# 工作路径个数(可以挂载多个磁盘),默认是1个
store_path_count=1
 
# 工作路径列表,如果store_path0不设置,那么使用base_path存储
# 设置的路径一定是存在的文件夹
# 需要配置store_path_count个
store_path0=/home/yuqing/fastdfs
#store_path1=/home/yuqing/fastdfs2
 
# FastDFS是通过二级目录来存储文件的,该配置是每级目录的文件夹数据
# 如果设置为256,那么会生成256*256=65535个文件夹
# 这个值默认大小256,可以设置区间1-256
subdir_count_per_path=256
 
# tracer server列表,多个tracer server的话,分行列出
tracker_server=192.168.209.121:22122
 
#日志级别
### emerg for emergency
### alert
### crit for critical
### error
### warn for warning
### notice
### info
### debug
log_level=info
 
# 运行本进程的Unix用户组,如果不设置,默认是当前用户所在的group
run_by_group=
 
# 运行本进程的用户名,如果不设置,默认是当前用户的用户名
run_by_user=
 
# 可以连接到本机的主机ip范围,*代表允许所有服务器
# 支持这样的表达式:10.0.1.[1-15,20] or host[01-08,20-25].domain.com
allow_hosts=*
 
# 文件分布式存储策略
# 0: 轮询
# 1: 根据文件名hash结果随机存储
file_distribute_path_mode=0
 
# 本配置在 file_distribute_path_mode=0 时有效
# 当写文件数据达到file_distribute_rotate_count值时,换轮换到另外一个路径继续写入
# 本配置默认值是100
file_distribute_rotate_count=100
 
# 是否在写大文件的时候,调用fsync落地文件
# 0:永远不调用
# 其他数值:每写入fsync_after_written_bytes个字节,调用一次fsync
# 默认为0
fsync_after_written_bytes=0
 
# 将缓存中的日志落地到磁盘的间隔时间,默认是10秒
sync_log_buff_interval=10
 
# 将缓存中的binlog落地到磁盘的间隔时间,默认是10秒
sync_binlog_buff_interval=10
 
# 将storage server缓存中的状态数据落地到磁盘的间隔时间,默认是10秒
sync_stat_file_interval=300
 
# 线程栈大小,默认64k,不建议设置小于64k,默认512k
thread_stack_size=512KB
 
# 和 tracker.conf 中store_server= 2时的配置相对应,本storage server作为目标服务器,上传文件的优先级,可以为负数。值越小,优先级越高。
# tracker.conf 中store_server参数的描述:
# 上传文件选择服务器的规则:
# 0:轮询(默认)
# 1:按照IP排序,排在第一的server
# 2:按照优先级排序,最小的server
upload_priority=10
 
# 网卡别名,用ifconfig -a可以看到很多本机的网卡别名,类似eth0,eth0:0等等
# 多个网卡别名使用逗号分割,默认为空,让系统自动选择
if_alias_prefix=
 
# 是否检查重复文件,如果设置成true,使用FastDHT来存储文件索引
# 1 or yes: 需要检查
# 0 or no: 不需要检查
# 默认值是 0
check_file_duplicate=0
 
# 文件签名形式,hash或md5,用来做文件排重,默认为hash
file_signature_method=hash
 
# 存储文件索引的命名空间(在check_file_duplicate=1是生效)
key_namespace=FastDFS
 
# 是否和FastDHT之间使用长连接
# 0代表短链接,1代表长连接
# 默认值为0
keep_alive=0
 
# 可以使用#include filename来加载FastDHT服务器列表,filename可以是相对路径(基于base_path)
# 在check_file_duplicate=1时有效
# 更多信息参见FastDHT的安装须知
##include /home/yuqing/fastdht/conf/fdht_servers.conf
 
# 是否记录访问日志
use_access_log = false
 
# 是否定期轮转访问日志,目前仅支持一天轮转一次
rotate_access_log = false
 
# 如果按天轮转访问日志,具体生成新错误日志文件的时间
# Hour from 0 to 23, Minute from 0 to 59
access_log_rotate_time=00:00
 
# 是否定期轮转错误日志,目前仅支持一天轮转一次
rotate_error_log = false
 
# 如果按天轮转错误日志,具体生成新错误日志文件的时间
# Hour from 0 to 23, Minute from 0 to 59
error_log_rotate_time=00:00
 
# 是否在错误访问文件达到一定大小时生成新的访问日志文件
# 0代表对日志文件大小不敏感
rotate_access_log_size = 0
 
# 是否在错误日志文件达到一定大小时生成新的错误日志文件
# 0代表对日志文件大小不敏感
rotate_error_log_size = 0
 
# 日志文件保存日期
# 0表示永久保存,不删除
# 默认为0
log_file_keep_days = 0 
 
# if skip the invalid record when sync file
# default value is false
# since V4.02
file_sync_skip_invalid_record=false
 
# 是否使用连接池
use_connection_pool = false
 
# 连接闲置超时时间,连接如果闲置的时间超过本配置,则关闭次连接,单位秒
connection_pool_max_idle_time = 3600
 
# storage server的http访问方式的域名,如果域名为空,则只能使用ip访问
http.domain_name=
 
# HTTP端口
http.server_port=8888

4-3 集群启动与测试

/usr/bin/fdfs_storaged /etc/fdfs/storage_dev.conf start
/usr/bin/fdfs_storaged /etc/fdfs/storage_ops.conf start

4-4 集群状态说明

# INIT :初始化,尚未得到同步已有数据的源服务器
# WAIT_SYNC :等待同步,已得到同步已有数据的源服务器
# SYNCING :同步中
# DELETED :已删除,该服务器从本组中摘除
# OFFLINE :离线
# ONLINE :在线,尚不能提供服务
# ACTIVE :在线,可以提供服务

4-5 常见错误处理

# 追踪服务器:
ERROR - file: tracker_proto.c, line: 48, server: 10.98.41.125:22122, response status 11 != 0
scp * root@10.98.41.125:/data/fdfs_tracker/base/
---------------------------------------------------------------------
# 存储服务器: INIT
A.1 停止tracker
A.2 停止storage
A.3 删除tracker中的/data/fdfs_tracker/base/data目录
A.4 删除storage中的/data/fdfs_storage/dev/base/data目录
A.5 启动tracker
A.6 启动Storage
---------------------------------------------------------------------
# 存储服务器: WAIT_SYNC
# 集群中删除
fdfs_monitor /etc/fdfs/client.conf delete group1 10.98.41.127
rm -rf /data/fdfs_storage/dev/base/data 127重启
# 无法连接追踪服务器,关闭防火墙或者开启对应端口
ERROR - file: storage_ip_changed_dealer.c, line: 180, connect to tracker server 10.98.41.8:22122 fail, errno: 113, error info: No route to host

第五章 使用客户端操作fastdfs5-1 上传文件

fdfs_upload_file /etc/fdfs/client.conf /etc/passwd

dev/M00/00/00/CmIpgVtyeuWAMPdiAAAEXdVzyfE2007009

5-1-1 指定组上传

[root@storage01 data]# fdfs_upload_file /etc/fdfs/client.conf /etc/passwd 10.98.41.128:23000

ops/M00/00/00/CmIpgFtye3qAHCFSAAAEXdVzyfE5684276

5-2 下载文件

fdfs_download_file /etc/fdfs/client.conf dev/M00/00/00/CmIpgVtyeuWAMPdiAAAEXdVzyfE2007009

5-3 验证文件

[root@storage01 data]# md5sum CmIpgVtyeuWAMPdiAAAEXdVzyfE2007009

18807ff72d7536e9d057902399498457 CmIpgVtyeuWAMPdiAAAEXdVzyfE2007009

[root@storage01 data]# md5sum /etc/passwd

18807ff72d7536e9d057902399498457 /etc/passwd

5-4 删除文件

fdfs_delete_file /etc/fdfs/client.conf dev/M00/00/00/CmIpgFtye3eAfIHrAAAEXdVzyfE3879549

5-5 追加方式上传

fdfs_upload_appender /etc/fdfs/client.conf apppend.txt

group1/M00/00/00/CmIpSVoU7zeELI4-AAAAAHcc3SA643.txt

fdfs_append_file /etc/fdfs/client.conf group1/M00/00/00/CmIpSVoU7zeELI4-AAAAAHcc3SA643.txt append2.txt

fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/CmIpSVoU7zeELI4-AAAAAHcc3SA643.txt

cat CmIpSVoU7zeELI4-AAAAAHcc3SA643.txt

hello

world

5-6 查看文件属性

fdfs_monitor /etc/fdfs/client.conf

第六章 nginx配置图片(视频)服务器6-1 基础环境安装

yum install -y pcre pcre-devel        #支持伪静态功能rewrite 
yum install -y openssl openssl-devel 
yum -y install gcc gcc-c++ autoconf automake make

6-2 nginx安装

git clone https://github.com/happyfish100/fastdfs-nginx-module.git
useradd www -M -s /sbin/nologin
tar zxf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/data/webserver/nginx-1.10.3 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --add-module=/data/tools/fastdfs-nginx-module/src/
make
make install
cd /data/tools/fastdfs-nginx-module/src/
cp mod_fastdfs.conf /etc/fdfs/
cd /data/tools/fastdfs-5.08/conf/
cp anti-steal.jpg http.conf mime.types /etc/fdfs/

# vim /etc/fdfs/mod_fastdfs.conf
tracker_server=10.98.41.7:22122
tracker_server=10.98.41.8:22122
url_have_group_name = true
group_count = 2

6-3 nginx 配置

include vhosts/fastdfs.conf;
# cat /data/webserver/nginx/conf/vhosts/fastdfs.conf 
server {
  listen       80;
  server_name  dev.img.etiantian.org;
  location /dev/M00 {
     root /data/fdfs_storage/dev/store/data;
     ngx_fastdfs_module;
   }
}
server {
  listen       80;
  server_name  dba.img.etiantian.org;
  location /ops/M00 {
     root /data/fdfs_storage/ops/store/data;
     ngx_fastdfs_module;
   }
}

# cat mod_fastdfs.conf
[group1]
group_name=dev
storage_server_port=23001
store_path_count=1
store_path0=/data/fdfs_storage/dev/store
[group2]
group_name=ops
storage_server_port=23000
store_path_count=1
store_path0=/data/fdfs_storage/ops/store

第七章 FastDFS集群测试7-1 图片服务测试

图片

7-2 视频服务测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wuxingge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值