FastDFS主要有两个角色:Tracker Server和Storage Server Tracker Server:Tracker Server,主要负责调度存储节点与客户端通信,在访问中起到负载均衡的作用,记录存储节点的运行状态,是连接客户端和存储节点的集线器。存储服务器:存储服务器,保存文件的元数据组,文件:文件组,也可以称为卷。同一组中的服务器上的文件是相同的。群集时,一个组中通常有多个服务器。将文件上传到同一组中的机器后,FastDFS会立即将文件同步到同一组中的所有其他机器,以发挥备份作用。元数据:文件相关属性,键值对模式,比如width=1024,height=768。类似于阿里巴巴云OSS的元数据。
tracker Server):10 . 0 . 31 . 189 Storage Server):10 . 0 . 31 . 189操作系统:CentOS6.8用户:根数据存储目录:/FastDFS安装包:Fastdfs-master-v 5 . 05 . :Fastdfs源代码libfastconly-master . :(从Fastdfs和FastDHT提取的公共c函数库)Fastdfs-nginx-module-master . :存储节点http service nginx module nginx-1 . 10 . 0 . tar . gz
下载后,将压缩包解压缩到/usr/本地目录
[root @ localhost ~]# yum install make cmake gcc gcc-c++
[root @ localhost ~]# CD/usr/local[root @ localhost local]# un libfastcom-master . [root @ localhost local]# CD libfastcom-master[root @ localhost libfastcom-master]# ll 36 drwxr-xr-x . 2 root root 4096 July 6 2017 doc-rw-R-R-. 1 root root 8005 July 6 2017 history-rw-R-. 1 root 566 July 6 2017/make . sh[root @ localhost libfastconly-master]
[ROOT @ localhost ~]# CD/usr/local[ROOT @ localhost local]# un fastdfs-master . [ROOT @ localhost local]# CD fastdfs-master[ROOT @ localhost fastdfs-master]# ll 136 DRWXR-XR-x . 3 ROOT ROOT 4096 2017年9月28日clientdrwxr-XR-x . 2 ROOT 4096 2017年9月28日commondrwxr-xr-x.2 root4096d-RW-R-R-. 1 ROOT ROOT 7755 2017年8月10日INSTALL-RWXR-XR-x . 1 ROOT 5548 2017年8月10日make . shdrwxr-XR-x XR-x . 2 ROOT 4096 2017年8月10日PHP _ client-RW-R-R-. 1 ROOT ROOT 2380 2017年8月10日readme . MD-RWXR-XR-x . 1 ROOT 1768shdrwxr-xr-x . 4 root root root 4096 2017年9月28日storagedrwxr-xr-x . 2 root 4096 2017年8月10日testdrwxr-xr-x . 2 root 40 96 2017年9月28日Tracker # #编译并安装[root @ localhost fastdfs-master]#。/make . sh[root @ localhost fastdfs-master]#。/make.sh安装
1.服务脚本
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd
2.配置文件(示例配置文件):
/etc/fdfs[root @ localhost fastdfs-master]# ll/etc/fdfs/-rw-r-r-. 1 root root 1461 2017年9月28日client . conf . sample-rw-r-. 1 root 7927 2017年9月28日track . conf . sample-rw-r-. 1 root 7200 2017年9月28日trac
3.命令行工具(在/usr/bin目录下)
[根@ localhost fastdfs-master]# ll/usr/bin/| Grepfdfs-rwxr-xr-x . 1 root 262291 2017年9月28日fdfs _ appender _ test-rwxr-xr-x . 1 root 261988 2017年9月28日fdfs _ appender _ test1-rwxr-xr-x . 1 rootr oot 252300 2017 fdfs _ append _ file-rw 2017 fdfs _ delete _ file-rw Xr-Xr-x . 1 ROOT ROOT ROOT 253222 2017年9月28日fdfs _ download _ file-RWXR-Xr-x . 1 ROOT ROOT ROOT 252948 2017年9月28日fdfs _ file _ info-RWXR-Xr-x . 1 ROOT ROOT ROOT 265628 9月28 2 017 fdfs _ monitor-RWXR-Xr-x . 1 ROOT 879078 9月28
[root @ localhost fasdfs-master]# CP/etc/fdfs/tracker . conf . sample/etc/fdfs/tracker . conf
[根目录@ localhost fastdfs-master]# vim/etc/fdfs/tracker . conf # # #修改如下:disabled=false # enable配置文件端口=22122 # tracker服务器端口(默认为22122)base _ path =/fastdfs/tracker #用于存储日志和数据的根目录
[root @ localhost fastdfs-master]# mkdir-p/fastdfs/tracker
[root @ localhost fastdfs-master]# VI/etc/sysconfig/iptables add-a input-m state-state new-m TCP-p TCP-dport 22122-j accept save exit restart firewall:service iptables restart
[root @ localhost fastdfs-master]#/etc/init . d/fdfs _ tracker start首次启动,将在/fastdfs/tracker目录下生成两个目录,日志和数据
[root @ localhost fasdfs-master]# CP/etc/fdfs/storage . conf . sample/etc/fdfs/storage . conf[root @ localhost fastdfs-master]# VI/etc/fdfs/storage . conf
修改内容如下:disabled = false # enable configuration file port = 23000 # storage service port base _ path =/fastdfs/storage # data和log file store root _ path 0 =/fastdfs/storage #第一个存储目录tracker _ server = 10 . 0 . 31 . 189:22122 # tracker server IP和端口,这里是上面预留的iphttp.server _ port = 80 # http端口,需要和后面的nginx监听端口一致
[root @ localhost fastdfs-master]# mkdir-p/fastdfs/storage #基本路径和store_path0路径在上面配置,因为上面的路径可能不存在。
[root @ localhost fastdfs-master]# VI/etc/sysconfig/Iptables添加以下端口行:-a input-m state-state new-m TCP-p TCP-dport 23000-j accept save exit restart firewall:[root @ localhost fastdfs-master]# service Iptables restart
[root @ localhost fastdfs-master]#/etc/init . d/fdfs _ storaged start
初始启动时,将在/fastdfs/storage目录下生成两个目录,即日志和数据。检查快速跟踪服务器是否成功启动:PS-ef | grepfdfs _ stored
[root @ localhost fastdfs-master]# CP/etc/fdfs/client . conf . sample/etc/fdfs/client . conf[root @ localhost fastdfs-master]# vim/etc/fdfs/client . conf #修改以下配置,并保留默认base _ path =/fastdfs/tracker_server = 10 . 0 . 31 . 189:22122 #作为tracker _ server地址和端口[root @ localhost fastdfs-master]#/usr/bin/fdfs _ upload _ file/etc/fdfs/client . conf/root/logo . png返回返回文件ID号的内容:/group 1/m00/00/00/00/cgafvvnmwiaxm 0 aa 5 ilsie-g844 . png if
FastDFS通过Tracker服务器将文件存储在Storage服务器中,但同一组中的存储服务器之间需要文件复制,导致同步延迟。假Tracker服务器将文件上传到10.0.31.201,上传成功后文件ID已经返回给客户端。此时,FastDFS存储群集机制会将此文件同步到同一存储组10.0.31.202。如果客户端使用此文件标识在10.0.31.126上获取文件,则无法访问该文件。而fastdfs-nginx-module可以重定向文件并连接到源服务器获取文件,从而避免了客户端因复制延迟而无法访问文件的错误。
[root @ localhost fastdfs-master]# CD/usr/local[root @ localhost local]# un fastdfs-nginx-module-master .
Nginx安装请参考Nginx源代码安装文档。注意:执行时。/configure配置nginx参数,需要将fastdfs-nginx模式源代码编译为模块:。/configure-prefix =/usr/local/nginx-sbin-path =/usr/bin/nginx-add-module =/usr/local/fastdfs-nginx-module-master/src
[root @ localhost local]# CP/usr/local/fastdfs-nginx-module-master/src/Mod _ fastdfs . conf/etc/fdfs/[root @ localhost local]# VI/etc/fdfs/Mod _ fastdfs . conf #修改以下配置。默认情况下,可以连接其他配置。connect_timeout=10 #客户端访问文件。连接超时持续时间(单位:秒)base_path=/tmp #临时目录跟踪器_服务器= 10.0.31.189: 22122 #跟踪器服务IP和端口存储_服务器_端口= 23000 #存储服务端口组名=组1 #组名url_have_group_name=true #访问链接前缀加组名store_path0=/fastdfs/storage #文件存储路径
root @ localhost local]# CD/usr/local/fastdfs-master/confroot @ localhost local]# CP http . conf mime . types/etc/fdfs/
root @ localhost local]# ln-s/fastdfs/storage/data//fastdfs/storage/data/M00
注意下面的用户根。在此打开上一条注释,并将其修改为root,以防止以后出现错误
root @ localhost local]# vim/usr/local/nginx/conf/nginx . follot;worker _ processes 1;事件{ worker _ connections 1024} http { include mime.typesdefault_type应用程序/八位字节流;sendfile onkeepalive _ timeout 65这里的Server { # #与storage.conf配置的http.server一致;听80;server _ name localhost# #配置通配符以将/group开头的地址映射到fastdfs项。如果#只有一个group1可以直接写group 1 location ~/group([0-9])/m00 { ngx _ fastdfs _ module;} error _ page 500 502 503 504/50x . html;location =/50x . html { root html;} }}
为了防止出现问题,最好释放防火墙中的端口80。发布方式同上发布。修改完成后,保存并重新启动防火墙
root @ localhost local]#/usr/bin/ngix ngx_http_fastdfs_set pid=xxx nginx restart命令为:/usr/sbin/nginx-s nginx启动后重载,如果ngx _ http _ fastdfs _ set PID = XXX被打印,说明fastdfs-nginx-module加载成功。
上传测试后返回的文件ID为group 1/m00/00/00/cgafvvnmwiaxm 0 aa 5 ilsie-g844 . png,浏览访问的地址为http://10 . 0 . 31 . 189/group 1/m00/00/00/cgafvvnmwiaxm 0 aa 5 il
1.《fastdfs CentOS7配置FastDFS》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《fastdfs CentOS7配置FastDFS》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/799442.html