网站内容管理系统上传图片(存储数据,group可以隔离不同应用的数据放在不同里面 )
优采云 发布时间: 2021-10-31 13:11网站内容管理系统上传图片(存储数据,group可以隔离不同应用的数据放在不同里面
)
1.fastDFS简介:FastDFS由Tracker Server、Storage Server和Client组成。
跟踪服务器负责接收客户端的请求,选择合适的存储服务器组合,并使用跟踪服务器和存储服务器之间的心跳机制来检测对方是否存活。
tracker需要管理的信息也存储在内存中,并且里面的所有tracker都是相等的(每个节点的状态都一样),易于扩展
当客户端访问集群时,会随机分配一个Tracker与客户端进行交互。
实际存储的数据分为几个组(groups)。实际跟踪器是托管存储中的组,而组中的机器存储数据。组内可以隔离不同应用的数据,不同应用的数据放在不同的组内,
fastDFS 三方交互图
2.读写操作:
FastDFS写操作流程图
下载文件:
客户端向Tracker发起下载请求时,不会直接下载,而是先查询存储服务器(查看同步状态),并返回存储服务器的ip和端口,
然后客户端会带着文件信息(组名、路径、文件名)访问相关存储,然后下载文件。
fastDFS 下载文件
使用:
1.先下载fastdfs安装包和依赖包(sourceforge->fastdfs),然后解压。
配置跟踪器
sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
在/home/python/目录下创建目录fastdfs/tracker
mkdir –p /home/python/fastdfs/tracker
编辑 /etc/fdfs/tracker.conf 配置文件
sudo vim /etc/fdfs/tracker.conf
修改base_path=/home/python/fastdfs/tracker
3.配置存储
sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
在/home/python/fastdfs/目录下创建一个目录存储,这个目录就是实际数据存放的地方
mkdir –p /home/python/fastdfs/storage
编辑 /etc/fdfs/storage.conf 配置文件
sudo vim /etc/fdfs/storage.conf
修改内容:
base_path=/home/python/fastdfs/storage
store_path0=/home/python/fastdfs/storage
tracker_server=tracker所在机器的ip:22122
启动跟踪器和存储
sudo trackerd /etc/fastdfs/tracker.conf start
sudo storaged /etc/fastdfs/storage.conf start
6.测试是否安装成功
sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
编辑 /etc/fdfs/client.conf 配置文件
sudo vim /etc/fdfs/client.conf
修改内容:
base_path=/home/python/fastdfs/tracker
tracker_server=tracker所在机器的ip:22122
上传文件测试:
fdfs_upload_file /etc/fdfs/client.conf filename
如果返回类似group1/M00/00/00/rBIK6VcaP0aARXDSNFHrUgHEviQ394.jpg的file_id,则文件上传成功
添加Nginx模块,确保电脑上安装了Nginx。下载fastdfs-nginx-module压缩包,解压进入Nginx安装目录
执行
sudo ./configure --prefix=/usr/local/nginx/ --add-module=fastdfs-nginx-module解压后目录下src的绝对路径
sudo ./make
sudo ./make install
sudo cp fastdfs-nginx-module解压后目录中src/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
sudo vim /etc/fdfs/mod_fastdfs.conf
修改内容:
connect_timeout=10
tracker_server=tracker所在机器的ip:22122
url_have_group_name=true //返回file_id中包含组号
store_path0=/home/python/fastdfs/storage
sudo cp fastdfs-nginx-module目录下http.conf /etc/fdfs/http.conf
sudo cp 解压缩的fastdfs-nginx-module目录下的mime.types /etc/fdfs/mime.types
sudo vim /usr/local/nginx/conf/nginx.conf