学生做兼职哪个网站,网站icp备案申请流程,唐山网站建设,python代码自动生成器FastDFS很久之前#xff0c;对上传的文件可能是存储在数据库#xff0c;在数据库中存储路径#xff0c;保存文件的二进制数据#xff0c;随着用户上传的文件增加#xff0c;数据库数据越来越多。这时#xff0c;可以使用分布式文件系统#xff0c;将用户上传的文件例如图…FastDFS很久之前对上传的文件可能是存储在数据库在数据库中存储路径保存文件的二进制数据随着用户上传的文件增加数据库数据越来越多。这时可以使用分布式文件系统将用户上传的文件例如图片pdfwordexcel视频等存储在文件服务器上。FastDFS是一个开源的轻量级分布式文件系统它对文件进行管理功能包括文件存储、文件同步、文件访问(文件上传、文件下载)等解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务如相册网站、视频网站等等。FastDFS为互联网量身定制充分考虑了冗余备份、负载均衡、线性扩容等机制并注重高可用、高性能等指标使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS用C语言实现支持Linux、FreeBSD、MacOS等类UNIX系统。FastDFS类似google FS属于应用级文件系统不是通用的文件系统只能通过专有API访问目前提供了C和Java SDK以及PHP扩展SDK。FastDFS可以看做是基于文件的key value存储系统key为文件IDvalue为文件内容因此称作分布式文件存储服务更为合适。FastDFs架构FastDFS 系统有三个角色跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。 Tracker Server跟踪服务器主要做调度工作起到均衡的作用负责管理所有的 storage server和 group每个 storage 在启动后会连接 Tracker告知自己所属 group 等信息并保持周期性心跳。 Storage Server存储服务器主要提供容量和备份服务以 group 为单位每个 group 内可以有多台 storage server数据互为备份。 Client客户端上传下载数据的服务器也就是我们自己的项目所部署在的服务器。安装搭建安装主要步骤安装前首先安装相关的依赖yum install make cmake gcc gcc-c安装libfastcommon安装fastDFS配置跟踪器(tracker)配置存储器(storage)环境搭建完成可以进行测试环境是否搭建成功跟踪服务器和存储服务器安装nginx启动和关闭服务顺序跟踪器存储器Nginx这里安装使用的是CentOS7。用虚拟软件VirtualBox准备了两台机器192.168.43.101192.168.43.111在两台机器中都先安装相关依赖。yum install make cmake gcc gcc-c首先安装libfastcommon两台服务器都一样的操作。1.下载libfastcommon安装包放入/usr/local/software(可自己选择路径)wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz2.解压新建/usr/local/fastDfs目录解压至该目录tar -zxvf V1.0.7.tar.gz -C /usr/local/fastDfs3.编译、安装cd /usr/local/fastDfs/libfastcommon-1.0.7./make.sh./make.sh install4.编译安装时程序会在/usr/lib64创建文件但是FastDFS主程序目录是/usr/local/lib所以我们需要创建/usr/lib64/下的一些核心执行程序的软连接文件。mkdir /usr/local/lib/ ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.soln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so 安装FastDFS1.下载安装包至/usr/local/softwarewget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz2.解压tar -zxvf V5.05.tar.gz -C /usr/local/fastDfs/3.编译安装cd /usr/local/fastDfs//usr/local/fastDfs/./make.sh./make.sh install4.编译安装时生成了许多的目录。5.默认安装方式,安装后的相应文件与目录1)服务脚本在/etc/init.d目录下/etc/init.d/fdfs_storaged/etc/init.d/fdfs_tracker2)配置文件样例,在/etc/fdfs目录下/etc/fdfs/client.conf.sample/etc/fdfs/storage.conf.sample/etc/fdfs/tracker.conf.sample3)命令行工具/usr/bin/目录下6.FastDFS 服务脚本设置的bin目录是/usr/local/bin 但实际命令安装在 /usr/bin/ 下。所有我们要修改下。两种方式 一是修改FastDFS 服务脚本中相应的命令路径也就是把 /etc/init.d/fdfs_storaged 和 /etc/init.d/fdfs_tracker 两个脚本中的 /usr/local/bin 修改成 /usr/bin。# vim fdfs_trackerd 使用查找替换命令进统一修改:%s/usr/local/bin/usr/bin # vim fdfs_storaged 使用查找替换命令进统一修改:%s/usr/local/bin/usr/bin二是建立 /usr/bin 到 /usr/local/bin 的软链接。 ln -s /usr/bin/fdfs_trackerd /usr/local/binln -s /usr/bin/fdfs_storaged /usr/local/binln -s /usr/bin/stop.sh /usr/local/binln -s /usr/bin/restart.sh /usr/local/bin这里采用第一种方式。对两台机器的服务脚本都进行替换。配置FastDFS跟踪器(Tracker)1.在其中一台机器配置Tracker。进入 /etc/fdfs目录配置跟踪器文件把tracker.conf.simple文件进行copy一份去修改tracker.conf文件cd /etc/fdfs/vim tracker.conf2.修改配置创建新的目录/home/fast/tracker将base_path修改为自己创建的目录/home/fast/tracker。其他配置为默认不作修改。可以看出Tracker跟踪器的默认端口为22122。5.防火墙添加端口firewall-cmd --zonepublic --add-port22122/tcp --permanentsystemctl reload firewalldsystemctl restart firewalld.service6.启动Tracker/etc/init.d/fdfs_trackerd start #启动/etc/init.d/fdfs_trackerd stop #关闭或systemctl start fdfs_trackerd.servicesystemctl stop fdfs_trackerd.service查看进程ps -ef | grep fdfs7.启动成功后进入配置的tracker的目录cd /home/fast/tracker/ ll生成的data和logs分别表示 |__data | |__storage_groups.dat存储分组信息 | |__storage_servers.dat存储服务器列表 |__logs | |__trackerd.log tracker server 日志文件 8.设置开机服务自启动 chkconfig fdfs_trackerd on 或者vim /etc/rc.d/rc.local 加入配置/etc/init.d/fdfs_trackerd start至此Tracker配置完成配置FastDFS存储器(Storage)1.在另外一台机器中同样进入 /etc/fdfs目录修改存储器配置文件把storage.conf.simple文件进行copy一份修改storage.conf文件。cd /etc/fdfscp storage.conf.sample storage.conf2.修改配置vim storage.conf创建新的目录/home/fast/storage将base_path修改为自己创建的目录/home/fast/storage。修改base_path0路径也为/home/fast/storage。配置tracker服务器的IP地址端口号。3.防火墙配置端口storage的默认端口为23000firewall-cmd --zonepublic --add-port23000/tcp --permanentsystemctl reload firewalldsystemctl restart firewalld.service4.启动storage/etc/init.d/fdfs_storaged start #启动/etc/init.d/fdfs_storaged stop #关闭或systemctl start fdfs_storaged.servicesystemctl stop fdfs_storaged.service查看进程ps -ef|grep fdfs5.查看tracker和storage是否在通信/usr/bin/fdfs_monitor /etc/fdfs/storage.conf6.设置服务开机自启动 chkconfig fdfs_storaged on 或者vim /etc/rc.d/rc.local 加入配置/etc/init.d/fdfs_storaged start测试上传文件1.可以在配台机器做client端在这里用tracker服务器来测试上传。到/etc/fdfs/目录。把client.conf.simple文件进行copy一份去修改client.conf文件。cp client.conf.sample client.conf将base_path修改为自己创建的目录/home/fast/client,修改tracker_server信息。2.到usr/bin目录下cd /usr/binfdfs_upload_file /etc/fdfs/client.conf /usr/local/software/12.png上传完成并返回一串字符串group1/M00/00/00/wKgrb15zfgSAJ0RZAAZLsfRo4s0514.pnggroup1组名M00磁盘00目录wKgrb15zfgSAJ0RZAAZLsfRo4s0514.png文件名与Nginx的整合1.关闭FastDFS的Tracker和Storage。在存储Storage端安装fastdfs-nginx-module进入/usr/local/software目录下载fastdfs-nginx-module。#下载wget https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip#解压unzip 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip#重命名 mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1 /usr/local/fastDfs/fastdfs-nginx-module-master2.安装nginx安装nignx进入/usr/local/software目录下载nginxwget -c https://nginx.org/download/nginx-1.12.1.tar.gz安装相关的依赖# gcc 安装 yum install gcc-c#PCRE pcre-devel 安装yum install -y pcre pcre-devel#zlib 安装 yum install -y zlib zlib-devel#OpenSSL 安装 yum install -y openssl openssl-devel解压nginxtar -zxvf nginx-1.12.1.tar.gz -C /usr/local今入nginx-1.12.1目录添加配置cd nginx-1.12.1/./configure --add-module/usr/local/fastDfs/fastdfs-nginx-module-master/src编译,安装make make install3.复制fastdfs-nginx-module-master的配置文件至/etc/fdfs目录下cp /usr/local/fastDfs/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/4.修改mod_fastdfs.conf5.复制FastDFS里面的两个配置文件至/etc/fdfs目录下cp /usr/local/fastDfs/fastdfs-5.05/conf/http.conf /etc/fdfscp /usr/local/fastDfs/fastdfs-5.05/conf/mime.types /etc/fdfs6.创建一个软连接在/fastdfs/storage文件存储目录下创建软连接将其链接到实际存放数据的目录。ln -s /home/fast/storage/data /home/fast/storage/data/M007.修改nginx的配置/usr/local/nginx/confvim nginx.conf8.防火墙添加端口firewall-cmd --zonepublic --add-port8888/tcp --permanentsystemctl reload firewalldsystemctl restart firewalld.service启动nginxcd usr/local/nginx/sbin./nginx启动FastDFS的Tracker和Storage。在浏览器访问之前上传的图片http://192.168.43.111:8888/group1/M00/00/00/wKgrb15zfgSAJ0RZAAZLsfRo4s0514.png至此配置完成了配置过程还是比较复杂的。后续再讲FastDFS的其他技术知识。