在线写作网站,电脑商城网站模板,如何在网站做淘宝页面,中国空间站vr全景一、简单介绍#xff1a;
FastDFS是一个开源的高性能分布式文件系统#xff08;DFS#xff09;。 它的主要功能包括#xff1a;文件存储#xff0c;文件同步和文件访问#xff0c;以及高容量和负载平衡。主要解决了海量数据存储问题#xff0c;特别适合以中小文件…一、简单介绍
FastDFS是一个开源的高性能分布式文件系统DFS。 它的主要功能包括文件存储文件同步和文件访问以及高容量和负载平衡。主要解决了海量数据存储问题特别适合以中小文件建议范围4KB file_size 500MB为载体的在线服务。
二、Fastdfs架构说明
FastDFS架构包括 Tracker server和Storage server。客户端请求Tracker server进行文件上传、下载通过Trackerserver调度最终由Storage server完成文件上传和下载。 FastDFS 系统有三个角色跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。 Tracker Server跟踪服务器主要做调度工作起到均衡的作用负责管理所有的 storage server和 group每个 storage 在启动后会连接 Tracker告知自己所属 group 等信息并保持周期性心跳。通过Trackerserver在文件上传时可以根据一些策略找到Storageserver提供文件上传服务。这里要注意的是Tracker有自己功能的配置下既设置它管理所有的storage也可以指定它管理特定的组。 Storage Server存储服务器主要提供容量和备份服务以 group 为单位每个 group 内可以有多台 storage server数据互为备份。Storage server没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。
Client客户端上传下载数据的服务器也就是我们自己的项目所部署在的服务器。 三、Fastdfs角色说明
tracker:跟踪者负责调度存储服务tracker服务端口22122
storage:用于文件存储storage端口23000
client:调用tracker 四、部署fastdfs
执行部署脚本进行安装部署安装包见文章顶部 tracker.conf配置文件详解见如下
vim /etc/fdfs/tracker.conf
disabledfalse #启用配置文件(默认false)
bind_addr #解析主机地址空则解析所有主机
port22122 #tracker服务端口
connect_timeout30 #连接超时时间30S
network_timeout60 #网络超时时间60S
base_path/data/hexin/fastDFS/tracker #tracker基础数据存储路径及日志存放路径
max_connections256 #最大并发连接数
work_threads4 #工作线程数最好和cpu核数保持一致
store_lookup0 #选择上传文件模式 0代表group轮询 1指定特定group 2选择空间最大的group
#store_group #上传文件组如果模式为1则必须设置成核特定group一致的组名
store_server0 #选择存储服务器上传文件 0代表轮询1根据通过IP第的顺序 2通过优先级
store_path0 #选择哪块存储盘上传文件 0代表轮询2代表优先最大存储空间盘(路径)
download_server0 #选择哪台存储服务器下载文件0代表轮询1代表当前文件上传的源服务器
reserved_storage_space 10% #系统保留存储空间10%
storage.conf详解见如下
vim /etc/fdfs/storage.conf
group_namegroup1 #存储组名
client_bindtrue #当连接其他服务器时解析该主机地址
port23000 #storage端口 23000
store_path_count1 #存储路径个数需要和store_path个数匹配
base_path/data/hexin/fastDFS/storage #基础存储数据和日志文件
store_path0/data/hexin/fastDFS/storage #group所占用的目录或硬盘有几个写几个
tracker_server192.168.0.1:22122 #指定tracker1服务器
tracker_server192.168.0.2:22122 #指定tracker2服务器 五、安装nginx并添加fastdfs-nginx-module模块
mod_fastdfs.conf此配置文件是fastdfs-nginx-module模块的配置文件
安装步骤如下
1、先安装nginx2、安装fastdfs-nginx-module解压fastdfs-nginx-module包以及拷贝mod_fastdfs.conf配置文件
cd /home/
unzip fastdfs-nginx-module-1.22.zip
cp /home/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/3、备份原来nginx程序文件重新进行nginx配置,编译
cp /home/nginx/sbin/nginx /home/nginx/sbin/nginx.bak./configure --prefix/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module/home/software/fastdfs-nginx-module/srcmake4、再进入nginx源码进行安装
make install
修改mod_fastdfs.conf配置文件
vim /etc/fdfs/mod_fastdfs.conf
base_path/data/hexin/fastDFS/storage #修改成和storage 存放路径一致
tracker_server192.168.0.1:22122 #配置成tracker server 地址和端口
tracker_server192.168.0.2:22122 #配置成tracker server 地址和端口
url_have_group_name true #url中是否包组名(默认为false需要改成true)
store_path0/data/hexin/fastDFS/storage #文件存放路径与storage 一致
group_count 0 #0代表单组非零代表多组一般设置几就为几组
[group1] #设置了group_count 0接下来就需要在文件尾部追加这1个group setting
group_namegroup1
storage_server_port23000
store_path_count1
store_path0/data/hexin/fastDFS/storage 六、nginx配置文件说明
upstream fdfs_group1 {server 192.168.0.1:8889 weight1 max_fails2 fail_timeout30s;server 192.168.0.2:8889 weight1 max_fails2 fail_timeout30s;
}//此部分是新增跳转到storage服务模块配置
server {#8889 端口值是要与/etc/fdfs/storage.conf中的 http.server_port8889 相对应listen 8889;server_name localhost;location / {root html;index index.html index.htm;}location ~/group1/M00 {ngx_fastdfs_module;}
}//此部分是正常web地址对外nginx配置
server {listen 8888;server_name localhost;location /group1/M00 {proxy_pass http://fdfs_group1;}
}
七、数据流程说明
1、客户端--nginx--ngx_fastdfs_module(同步集群storage数据访问tracker获取storage存储信息)--tracker(mod_fastdfs.conf配置文件)---storage
2、客户端--nginx--gateway--yyzt-file---tracker---storage