由於工做中再次須要用到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個節點的相似配置便可