- 浏览: 102771 次
- 性别:
- 来自: 武汉
最新评论
-
tron.lu:
php for windows 下载目录以及搬迁到http:/ ...
Window下apache+php配置 -
yangleilt:
能给我说说怎么部署道服务器上吗? 用apache吗?
利用WinMail搭建Mail服务器 -
dackylike:
apache 和PHP是开发工具组合吗
Window下apache+php配置
1.libevent库安装
wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.14-stable.tar.gz tar -zxvf libevent-2.0.14-stable.tar.gz cd libevent-2.0.14-stable ./configure --prefix=/usr/local/libevent-2.0.14 make && make install
2.FastDFS安装
wget http://fastdfs.googlecode.com/files/FastDFS_v3.02.tar.gz tar -zxvf FastDFS_v3.02.tar.gz cd FastDFS vim make.sh grep -A 4 '/usr/local/FastDFS' make.sh #修改如下 TARGET_PREFIX=/usr/local/FastDFS TARGET_CONF_PATH=/etc/fdfs WITH_HTTPD=1 WITH_LINUX_SERVICE=1 ./make.sh C_INCLUDE_PATH=/usr/local/libevent-2.0.14/include LIBRARY_PATH=/usr/local/libevent-2.0.14/lib ./make.sh install ls /etc/fdfs/ client.conf http.conf mime.types storage.conf tracker.conf
3.修改相关文件
echo '/usr/local/libevent-2.0.14/include/' >> /etc/ld.so.conf echo '/usr/local/libevent-2.0.14/lib/' >> /etc/ld.so.conf ldconfig mkdir -p /home/data/fastdfs
注:3台服务器都如上操作
4.tracker节点安装
修改
/etc/fdfs/tracker.conf
如下配置
[root@DFS1 fdfs]# grep -v '^#' /etc/fdfs/tracker.conf |grep -v '^$' disabled=false bind_addr=192.168.1.201 port=22122 connect_timeout=30 network_timeout=60 base_path=/home/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 http.disabled=false http.server_port=8080 http.check_alive_interval=30 http.check_alive_type=tcp http.check_alive_uri=/status.html http.need_find_content_type=true
修改
/etc/fdfs/http.conf
如下配置
[root@DFS1 fdfs]# grep -v '^#' /etc/fdfs/http.conf |grep -v '^$' http.default_content_type = application/octet-stream http.mime_types_filename=mime.types http.anti_steal.check_token=false http.anti_steal.token_ttl=900 http.anti_steal.secret_key=FastDFS1234567890 http.anti_steal.token_check_fail=/home/data/fastdfs/conf/anti-steal.jpg
启动:
/usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf
echo $?
22
[root@DFS1 fdfs]# cat /home/data/fastdfs/logs/trackerd.log [2012-11-21 13:55:08] ERROR - file: ../common/fdfs_http_shared.c, line: 128, param "http.mime_types_filename" not exist or is empty
修改tracker.conf
[root@DFS1 fdfs]# tail -3 /etc/fdfs/tracker.conf #use "#include" directive to include http other settings #include http.conf
[root@DFS1 fdfs]# netstat -antp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.1.201:22122 0.0.0.0:* LISTEN 8929/fdfs_trackerd tcp 0 0 192.168.1.201:8080 0.0.0.0:* LISTEN 8929/fdfs_trackerd
4.storage节点安装
修改
/etc/fdfs/storage.conf
如下配置
[root@DFS2 fdfs]# grep -v '^#' /etc/fdfs/storage.conf |grep -v '^$' disabled=false group_name=group1 bind_addr=192.168.1.202 client_bind=true port=23000 connect_timeout=30 network_timeout=60 heart_beat_interval=30 stat_report_interval=60 base_path=/home/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=/home/data/fastdfs subdir_count_per_path=256 tracker_server=192.168.1.201: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 http.disabled=false http.domain_name= http.server_port=8888 http.trunk_size=256KB http.need_find_content_type=true
[root@DFS2 fdfs]# tail -n 3 /etc/fdfs/storage.conf #use "#include" directive to include HTTP other settings #include http.conf
修改
/etc/fdfs/http.conf
配置如下
[root@DFS2 fdfs]# grep -v '^#' /etc/fdfs/http.conf |grep -v '^$' http.default_content_type = application/octet-stream http.mime_types_filename=mime.types http.anti_steal.check_token=false http.anti_steal.token_ttl=900 http.anti_steal.secret_key=FastDFS1234567890 http.anti_steal.token_check_fail=/home/data/fastdfs/conf/anti-steal.jpg
启动:
/usr/local/FastDFS/bin/fdfs_storaged /etc/fdfs/storage.conf
[root@DFS2 fdfs]# netstat -antp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.1.202:8888 0.0.0.0:* LISTEN 7861/fdfs_storaged tcp 0 0 192.168.1.202:23000 0.0.0.0:* LISTEN 7861/fdfs_storaged
5.client配置测试
修改
/etc/fdfs/client.conf
配置如下
[root@DFS3 fastdfs]# grep -v '^#' '/etc/fdfs/client.conf' |grep -v '^$' connect_timeout=30 network_timeout=60 base_path=/home/data/fastdfs tracker_server=192.168.1.201:22122 log_level=info http.tracker_server_port=8080
测试上传
[root@DFS3 fastdfs]# /usr/local/FastDFS/bin/fdfs_test /etc/fdfs/client.conf upload /root/FastDFS_v3.02.tar.gz This is FastDFS client test program v3.02 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-11-21 15:04:37] INFO - base_path=/home/data/fastdfs, connect_timeout=30, network_timeout=60, tracker_server_count=1, 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.1.202, port=23000 group_name=group1, ip_addr=192.168.1.202, port=23000 storage_upload_by_filename group_name=group1, remote_filename=M00/00/00/wKgBylCsfQbXgHCzAAU-MoCNswU.tar.gz source ip address: 192.168.1.202 file timestamp=2012-11-21 15:04:38 file size=343602 file crc32=2156770053 file url: http://192.168.1.201:8080/group1/M00/00/00/wKgBylCsfQbXgHCzAAU-MoCNswU.tar.gz storage_upload_slave_by_filename group_name=group1, remote_filename=M00/00/00/wKgBylCsfQbXgHCzAAU-MoCNswU_big.tar.gz source ip address: 192.168.1.202 file timestamp=2012-11-21 15:04:38 file size=343602 file crc32=2156770053 file url: http://192.168.1.201:8080/group1/M00/00/00/wKgBylCsfQbXgHCzAAU-MoCNswU_big.tar.gz
6.其他:
tracker.conf 配置文件分析
tracker.conf这个配置文件是否生效,因为在启动fastdfs服务端进程时需要指定配置文件,所以需要使次配置文件生效。false是生效,true是屏蔽。 disabled=false #程序的监听地址,如果不设定则监听所有地址 bind_addr= #tracker监听的端口 port=22122 #链接超时设定 connect_timeout=30 #tracker在通过网络发送接收数据的超时时间 network_timeout=60 #数据和日志的存放地点 base_path=/opt/fdfs #服务所支持的最大链接数 max_connections=256 #工作线程数一般为cpu个数 work_threads=4 #在存储文件时选择group的策略,0:轮训策略 1:指定某一个组 2:负载均衡,选择空闲空间最大的group store_lookup=2 #如果上面的store_lookup选择了1,则这里需要指定一个group #store_group=group2 #在group中的哪台storage做主storage,当一个文件上传到主storage后,就由这台机器同步文件到group内的其他storage上,0:轮训策略 1:根据ip地址排序,第一个 2:根据优先级排序,第一个 store_server=0 #选择那个storage作为主下载服务器,0:轮训策略 1:主上传storage作为主下载服务器 download_server=0 #选择文件上传到storage中的哪个(目录/挂载点),storage可以有多个存放文件的base path 0:轮训策略 2:负载均衡,选择空闲空间最大的 store_path=0 #系统预留空间,当一个group中的任何storage的剩余空间小于定义的值,整个group就不能上传文件了 reserved_storage_space = 4GB #日志信息级别 log_level=info #进程以那个用户/用户组运行,不指定默认是当前用户 run_by_group= run_by_user= #允许那些机器连接tracker默认是所有机器 allow_hosts=* #设置日志信息刷新到disk的频率,默认10s sync_log_buff_interval = 10 #检测storage服务器的间隔时间,storage定期主动向tracker发送心跳,如果在指定的时间没收到信号,tracker人为storage故障,默认120s check_active_interval = 120 #线程栈的大小,最小64K thread_stack_size = 64KB #storage的ip改变后服务端是否自动调整,storage进程重启时才自动调整 storage_ip_changed_auto_adjust = true #storage之间同步文件的最大延迟,默认1天 storage_sync_file_max_delay = 86400 #同步一个文件所花费的最大时间 storage_sync_file_max_time = 300 #是否用一个trunk文件存储多个小文件 use_trunk_file = false #最小的solt大小,应该小于4KB,默认256bytes slot_min_size = 256 #最大的solt大小,如果上传的文件小于默认值,则上传文件被放入trunk文件中 slot_max_size = 16MB #trunk文件的默认大小,应该大于4M trunk_file_size = 64MB #http服务是否生效,默认不生效 http.disabled=false #http服务端口 http.server_port=8080 #检测storage上http服务的时间间隔,<=0表示不检测 http.check_alive_interval=30 #检测storage上http服务时所用请求的类型,tcp只检测是否可以连接,http必须返回200 http.check_alive_type=tcp #通过url检测storage http服务状态 http.check_alive_uri=/status.html #if need find content type from file extension name http.need_find_content_type=true #用include包含进http的其他设置 ##include http.conf
storage.conf配置文件分析
#同tracker.conf disabled=false #这个storage服务器属于那个group group_name=group1 #同tracker.conf bind_addr= #连接其他服务器时是否绑定地址,bind_addr配置时本参数才有效 client_bind=true #同tracker.conf port=23000 connect_timeout=30 network_timeout=60 #主动向tracker发送心跳检测的时间间隔 heart_beat_interval=30 #主动向tracker发送磁盘使用率的时间间隔 stat_report_interval=60 #同tracker.conf base_path=/opt/fdfs max_connections=256 #接收/发送数据的buff大小,必须大于8KB buff_size = 256KB #同tracker.conf work_threads=4 #磁盘IO是否读写分离 disk_rw_separated = true #是否直接读写文件,默认关闭 disk_rw_direct = false #混合读写时的读写线程数 disk_reader_threads = 1 disk_writer_threads = 1 #同步文件时如果binlog没有要同步的文件,则延迟多少毫秒后重新读取,0表示不延迟 sync_wait_msec=50 #同步完一个文件后间隔多少毫秒同步下一个文件,0表示不休息直接同步 sync_interval=0 #表示这段时间内同步文件 sync_start_time=00:00 sync_end_time=23:59 #同步完多少文件后写mark标记 write_mark_file_freq=500 #storage在存储文件时支持多路径,默认只设置一个 store_path_count=1 #配置多个store_path路径,从0开始,如果store_path0不存在,则base_path必须存在 store_path0=/home/data/ #store_path1=/opt/fastdfs2 #subdir_count * subdir_count个目录会在store_path下创建,采用两级存储 subdir_count_per_path=256 #设置tracker_server tracker_server=x.x.x.x:22122 #同tracker.conf log_level=info run_by_group= run_by_user= allow_hosts=* #文件在数据目录下的存放策略,0:轮训 1:随机 file_distribute_path_mode=0 #当问及是轮训存放时,一个目录下可存放的文件数目 file_distribute_rotate_count=100 #写入多少字节后就开始同步,0表示不同步 fsync_after_written_bytes=0 #刷新日志信息到disk的间隔 sync_log_buff_interval=10 #同步storage的状态信息到disk的间隔 sync_stat_file_interval=300 #线程栈大小 thread_stack_size=512KB #设置文件上传服务器的优先级,值越小越高 upload_priority=10 #是否检测文件重复存在,1:检测 0:不检测 check_file_duplicate=0 #当check_file_duplicate设置为1时,次值必须设置 key_namespace=FastDFS #与FastDHT建立连接的方式 0:短连接 1:长连接 keep_alive=0 #同tracker.conf http.disabled=false http.domain_name= http.server_port=8888 http.trunk_size=256KB http.need_find_content_type=true ##include http.conf
发表评论
-
iSCSI 3种连接方式
2013-01-17 16:52 811iSCSI设备的主机接口一 ... -
DRBD 配置
2012-12-24 16:58 950环境: centos 5.5 主节点:192.168. ... -
内核参数调优
2012-12-18 08:57 1010内核: net.ipv4.conf.lo.arp_ign ... -
Linux小技巧收集
2012-12-07 22:50 1040前言:因为用Linux的时间越来越长,所需要做的事也 ... -
GlusterFS分布式文件部署
2012-11-26 19:13 1343【FUSE安装】 yum install zlib-deve ... -
MooseFS分布式存储配置实现
2012-11-26 17:34 918下载源码包:http://sourceforge.net/pr ... -
优化Linux的内核参数来提高服务器并发处理能力
2012-11-19 18:22 801PS:在服务器硬件资源额定有限的情况下,最大的压榨服务器的 ... -
使用yum快速安装Apache+PHP+Tomcat(JSP)+MySQL
2012-11-19 18:20 7631、安装Apahce、PHP、MySQL和PHP连接MySQL ... -
RHEL/CentOS 6.x 系统服务详解
2012-11-19 17:49 6605下面列表是在RHEL/CentOS 6.x最小化桌面环境安装下 ... -
Linux System and Performance Monitoring
2012-11-18 08:54 2200CPU 篇 ... -
tcpdump参数用法详解
2012-10-31 18:51 793下面就是关于tcpdump的使 ... -
系统吞吐量(TPS)、用户并发量、性能测试概念和公式
2012-10-31 18:28 8306PS:下面是性能测试的 ... -
Linux文件误删除恢复操作
2012-07-12 09:27 631恢复步骤 一、用运SecureCRT远程对操作系统上,查看一 ... -
Ubuntu下OpenRTMFP安装
2012-05-24 11:43 2332环境 Ubunut 11 安装相关的库 lua5.1 ... -
Postfix +extmail+extman+maildrop+courier-authlib+cyrus-sasl+courier-imap 配置
2012-05-09 09:51 1780这个配置,算是所有 ... -
线上环境配置(备份记录)
2012-04-12 15:48 899项目:RED5+Trade+P2P 安装文件 re ...
相关推荐
FastDFS的设计原则在于简单高效,在实现上尽可能减少服务器资源消耗的同时,提供稳定的服务。 #### 二、虚拟机环境搭建 在进行FastDFS配置之前,首先需要搭建好虚拟机环境。这里我们假设使用的虚拟机软件是VMware或...
FastDFS设计目标是轻量、简单、高效,易于部署和维护,广泛应用于互联网行业。下面将详细讲解FastDFS集群的配置文件及其重要设置。 首先,FastDFS的配置文件通常位于`/etc/fdfs`目录下,主要包括以下几个文件: 1....
在本文中,我们将深入探讨FastDFS的两个核心配置文件——`tracker.conf`和`storage.conf`,以及它们在FastDFS架构中的作用。 1. **Tracker Server配置(tracker.conf)** `tracker.conf`是FastDFS的跟踪服务器配置...
FastDFS设计简单,易于部署,支持多种编程语言,使得它成为许多开发者的首选。 在安装FastDFS时,我们需要准备以下组件:libfastcommon(FastDFS的公共库)、fastdfs(FastDFS的核心服务)、fastdfs-nginx-module...
8. **API接口简单**:FASTDFS提供了简单的HTTP协议接口,方便应用程序进行文件上传、下载操作,降低了开发难度。 9. **监控与管理**:FASTDFS提供了一系列管理工具,如检查状态、日志查看、故障恢复等,便于运维...
3. **配置文件**:配置FastDFS的配置文件,如`/etc/fdfs/tracker.conf`和`/etc/fdfs/storage.conf`,设定服务器的IP地址、端口、数据存储路径等参数。 4. **初始化数据**:运行初始化脚本,如`/usr/local/fastdfs/...
例如,一个简单的文件上传接口可以这样实现: ```java @RestController @RequestMapping("/file") public class FileController { @Autowired private FastDFSFileService fileService; @PostMapping("/upload...
FastDFS设计的目标是简单、高效和高可用性,它将文件存储和文件访问(HTTP访问)的功能分离,提供了一个简单的基于HTTP协议的客户端接口。 FastDFS安装通常分为以下几个步骤: 1. **环境准备**:确保系统已经安装...
通过创建一个简单的Web应用,演示如何使用PHP或Java等语言与FastDFS进行交互,实现文件的上传和下载功能。 九、FastDFS高级特性 1. 负载均衡:FastDFS可以通过设置多个storage节点,实现文件的负载均衡存储。 2. ...
总结,FastDFS的配置涉及到多个文件,它们协同工作,实现文件的高效存储、同步和访问。理解并正确配置这些参数对于搭建和优化FastDFS系统至关重要。在实际应用中,还需要根据业务需求和服务器硬件情况灵活调整,确保...
1. **简单集成**:SpringBoot的自动配置和依赖注入使得整合FastDFS变得简单。 2. **高可扩展性**:SpringBoot的微服务架构和FastDFS的分布式特性,使得系统具有良好的可扩展性。 3. **易维护**:SpringBoot的优雅...
FastDFS支持文件分组和负载均衡,可以将不同的文件分发到不同的组,实现水平扩展。 文件上传流程大致为:客户端首先连接Tracker Server,Tracker Server根据当前Storage Server的状态选择一个最合适的Server,然后...
FastDFS的安装相对简单,主要涉及Tracker和Storage两个服务组件。首先,解压下载的FastDFS v6.12.0压缩包,然后按照官方提供的文档进行编译和安装。配置文件主要包括`fastdfs.conf`,其中需指定Tracker和Storage的...
Java操作FastDFS文件上传是Java开发中常见的一项任务,下面我们将详细探讨如何使用`fastdfs-client-java`库实现这一功能。 首先,我们需要在项目中引入`fastdfs-client-java`依赖。通常,可以通过Maven或Gradle将该...
1. **轻量级**: FastDFS的架构简单,易于部署和维护。 2. **高性能**: 通过网络分布式文件系统,提供高并发的文件访问能力。 3. **负载均衡**: 支持多组服务器集群,自动负载均衡。 4. **文件分片存储**: 大文件可以...
压缩包中的小demo可能包含了一个简单的客户端示例,演示如何使用FastDFS API进行文件上传和下载。通过这个示例,你可以了解FastDFS客户端的基本操作流程,例如连接Tracker,获取Storage信息,上传和下载文件等。 6...
2. **分布式特性**:FastDFS支持多组服务器集群,每组集群可以独立工作,通过负载均衡器进行分发,实现水平扩展。 3. **负载均衡**:FastDFS内置负载均衡机制,自动将请求分发到不同的存储节点,避免单点故障。 4. *...
FastDFS因其简单易用、高效稳定的特点,在很多大型互联网公司得到了广泛应用。掌握FastDFS的使用对于提升Java应用的文件处理能力具有重要意义。通过深入学习其原理和实践操作,开发者能够更好地应对大数据量的文件...
本文将详细讲解如何通过Java开发语言来实现向FastDFS系统的文件上传功能。 FastDFS是一个高性能、轻量级的分布式文件系统,它对文件进行管理,包括文件存储、文件同步、文件访问(文件上传、文件下载)等功能,解决...
总的来说,FastDFS是一个适用于大容量存储场景的高效分布式文件系统,它的简单架构和良好的扩展性使其成为许多企业的首选。在Linux环境中部署FastDFS并结合Nginx,可以构建出一个强大且易于管理的文件存储解决方案。...