由于工做中再次须要用到FastDFS作多机分布式集群,在此作个笔记,便于你们学习参考,因不一样机器的基础软硬件环境不同,整个分布式集群搭建配置过程可能会有各类坑,热情填坑便可^0^nginx
1、应用场景说明web
1.FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡。redis
2.FastDFS实现了软件方式的RAID,可使用廉价的IDE硬盘进行存储 ,支持存储服务器在线扩容。服务器
3.FastDFS特别适合大中型网站使用,用来存储资源文件(如:图片、文档、音频、视频等等。架构
2、服务端架构并发
因为公司提供服务器有限,web服务器和redis就这样安装了,web服务器和redis服务器可用另外服务器作集群扩展,同时tracker和storage也能够横向扩展负载均衡
注:双tracker时,其中一个是候补,若master挂掉后,候补会自动接任.分布式
3、环境搭建过程高并发
先在两台服务器上分别搭建单机配置,具体参考:http://my.oschina.net/xiejunbo/blog/380555学习
单机搭建完成后,修改配置并测试:
--------------------------------------------192.168.1.109配置(其它配置项默认):------------------------------------------------
tracker.conf
base_path=/home/tracker/fastdfs
store_group=group1
download_server=1
storage.conf:
group_name=group1
client_bind=true
base_path=/home/storage/fastdfs
store_path0=/home/storage/fastdfs
tracker_server=192.168.1.109:22122
tracker_server=192.168.1.106:22122
client.conf:
base_path=/home/client/fastdfs
tracker_server=192.168.1.109:22122
tracker_server=192.168.1.106:22122
http.tracker_server_port=80
mod_fastdfs.conf:
base_path=/home/storage/fastdfs
tracker_server=192.168.1.106:22122
tracker_server=192.168.1.109:22122
group_name=group1
url_have_group_name = true
group_count = 2
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/storage/fastdfs
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/home/storage/fastdfs
nginx.conf:
location /group1/M00 {
root /home/storage/fastdfs/data;
ngx_fastdfs_module;
}
----------------------------------192.168.1.106配置(其它配置项默认):----------------------------------------------------------
tracker.conf
base_path=/home/tracker/fastdfs
store_group=group2
download_server=1
storage.conf:
group_name=group2
client_bind=true
base_path=/home/storage/fastdfs
store_path0=/home/storage/fastdfs
tracker_server=192.168.1.109:22122
tracker_server=192.168.1.106:22122
client.conf:
base_path=/home/client/fastdfs
tracker_server=192.168.1.109:22122
tracker_server=192.168.1.106:22122
http.tracker_server_port=80
mod_fastdfs.conf:
base_path=/home/storage/fastdfs
tracker_server=192.168.1.106:22122
tracker_server=192.168.1.109:22122
group_name=group2
url_have_group_name = true
group_count = 2
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/storage/fastdfs
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/home/storage/fastdfs
nginx.conf:
location /group2/M00 {
root /home/storage/fastdfs/data;
ngx_fastdfs_module;
}
--------------------------------------------------------------------------------------------------------
修改完配置后启动两个tracker和两个storage,而后启动各自的nginx服务,以下查看集群状态:
测试文件上传:
能够正常访问,表示服务器上的分布式FastDFS集群已搭建完成,其余N个节点的相似配置便可