1. 商品分类的增删改
2. 新增商品
3.FastDFS 理论部分
3.1. 简介
FastDFS 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、
文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特
别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重
高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件
上传、下载等服务。
3.2. 上传交互过程
编辑
1. client 询问 tracker 上传到的 storage,不需要附加参数;
2. tracker 返回一台可用的 storage;
3. client 直接和 storage 通讯完成文件上传。
group1/M00/00/00/rBUAD18VNwmAb3kQAA1rIuRd3Es623.jpg
客户端上传文件后存储服务器将文件 ID 返回给客户端,此文件 ID 用于以后访问该文
件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。
组名:文件上传后所在的 storage 组名称,在文件上传成功后有 storage 服务器返回,
需要客户端自行保存。
虚拟磁盘路径:storage 配置的虚拟路径,与磁盘选项 store_path*对应。如果配置了
store_path0 则是 M00,如果配置了 store_path1 则是 M01,以此类推。
数据两级目录:storage 服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据
文件。
文件名:与文件上传时不同。是由存储服务器根据特定信息生成,文件名包含:源存储
服务器 IP 地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。
该文档是极速PDF编辑器生成,如果想去掉该提示,请访问并下载:http://www.jisupdfeditor.com/
3.3. 下载交互过程
编辑
1. client 询问 tracker 下载文件的 storage,参数为文件标识(卷名和文件名);
2. tracker 返回一台可用的 storage;
3. client 直接和 storage 通讯完成文件下载。
需要说明的是,client 为使用 FastDFS 服务的调用方,client 也应该是一台服务器,它对
tracker 和 storage 的调用均为服务器间的调用。
4.搭建 FastDFS 文件上传服务器
该文档是极速PDF编辑器生成,如果想去掉该提示,请访问并下载:http://www.jisupdfeditor.com/
安装如下:
直接买了一台服务器来安装
环境 :
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent
libevent-devel pe
rl unzip net-tools wget
再准备:
yum install make cmake gcc gcc-c++
2.新建目录:
/home/fastdfs
/home/fastdfs/client
/home/fastdfs/file
/home/fastdfs/storage
/home/fastdfs/tracker
4.切到;/home/fastdfs
安装基础环境:
下载:wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
解压:tar -zxvf V1.0.7.tar.gz
该文档是极速PDF编辑器生成,如果想去掉该提示,请访问并下载:http://www.jisupdfeditor.com/
解压后,进入到解压后的目录执行:
./make.sh
./make.sh instal
5.libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是 FastDFS 主程序设置的 lib
目录是/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.so
# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
6.安装 Fastdfs,切到/home/fastdfs 目录下:
执行:wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
解压后,进行目录里:执行:
./make.sh
./make.sh install
7.FastDFS 服务脚本设置的 bin 目录是 /usr/local/bin, 但实际命令安装在 /usr/bin/ 下:
找到:/etc/init.d/fdfs_storaged 和 /etc/init.d/fdfs_trackerd 这两个配置文件
该文档是极速PDF编辑器生成,如果想去掉该提示,请访问并下载:http://www.jisupdfeditor.com/
把文件中的:/usr/local/bin 替换成 /usr/bin
8:执行下面的命令:执行位置无所谓:
# ln -s /usr/bin/fdfs_trackerd /usr/local/bin
# ln -s /usr/bin/fdfs_storaged /usr/local/bin
# ln -s /usr/bin/stop.sh /usr/local/bin
# ln -s /usr/bin/restart.sh /usr/local/bin
9:进行到/etc/fdfs 下:
执行:cp client.conf.sample client.conf
执行 cp storage.conf.sample storage.conf
执行 cp tracker.conf.sample tracker.conf
10.修改:tracker.conf
# 配置文件是否不生效,false 为生效
disabled=false
# 提供服务的端口
port=22122
# Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建)
base_path=/home/fastdfs/tracker
# HTTP 服务端口
http.server_port=80
11.修改: storage.conf
# 配置文件是否不生效,false 为生效
disabled=false
该文档是极速PDF编辑器生成,如果想去掉该提示,请访问并下载:http://www.jisupdfeditor.com/
# 指定此 storage server 所在 组(卷)
group_name=group1
# storage server 服务端口
port=23000
# 心跳间隔时间,单位为秒 (这里是指主动向 tracker server 发送心跳)
heart_beat_interval=30
# Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成)
base_path=/home/fastdfs/storage --需要修改,默认也可--
# 存放文件时 storage server 支持多个路径。这里配置存放文件的基路径数目,通常只配
一个目录。
store_path_count=1
# 逐一配置 store_path_count 个路径,索引号基于 0。
store_path0=/home/fastdfs/file --需要修改,默认也可--
# FastDFS 存储文件时,采用了两级目录。这里配置存放文件的目录个数。
# 如果本参数只为 N(如: 256),那么 storage server 在初次运行时,会在 store_path
下自动创建 N * N 个存放文件的子目录。
subdir_count_per_path=256
# tracker_server 的列表 ,会主动连接 tracker_server
# 有多个 tracker server 时,每个 tracker server 写一行
tracker_server=XXXX:22122 --需要修改--
# 允许系统同步的时间段 (默认是全天) 。一般用于避免高峰同步产生一些问题而设定。
sync_start_time=00:00
sync_end_time=23:59
# 访问端口
http.server_port=80 --需要修改,对应 tracker 配置的 http 端口-
12、修改:client.conf
# Client 的数据和日志目录
base_path=/home/fastdfs/client
# Tracker 端口
tracker_server=192.168.2.125:22122
以上三个文件全部修改完成。
该文档是极速PDF编辑器生成,如果想去掉该提示,请访问并下载:http://www.jisupdfeditor.com/
13.命令:
开机自启
chkconfig fdfs_trackerd on
chkconfig fdfs_storaged on
跟踪停止
service fdfs_trackerd stop
存储停止
service fdfs_storaged stop
跟踪启动
service fdfs_trackerd start
存储启动
service fdfs_storaged start
启动后,可以用 ps-ef | grep 测试启动
或者用:# netstat -unltp|grep fdfs
14.上传文件用:
切到/home 下,在 home,传一个 11.jpg 图片:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 11.jpg
可以在/home/fastdfs/file 中找到
15.下载展示时,需要用到 nginx,安装:如果已安装,直接跳过进行配置:
一行一行:依次执行:切到/home 目录
该文档是极速PDF编辑器生成,如果想去掉该提示,请访问并下载:http://www.jisupdfeditor.com/
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
wget -c https://nginx.org/download/nginx-1.12.1.tar.gz
tar -zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure
make
make install
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx -s quit
/usr/local/nginx/sbin/nginx -s reload
16:修改配置文件:
进入到 nginx.conf 中,添加如下
该文档是极速PDF编辑器生成,如果想去掉该提示,请访问并下载:http://www.jisupdfeditor.com/