准备阶段
Linux服务器或虚拟机的准备跟踪程序和存储系统安装在一台计算机上
下载所需的安装软件包,然后上传到linux服务器目录
快速DFS下载地址: https://github.com/happyfish100
t引擎下载地址: http://t引擎. Taobao.org /
安装FastDFS依赖
FastDFS是c语言发展的APP。 安装时需要使用make、cmake、gcc编译器。yum安装- y make cmake gcc-c
将
安装FastDFS核心库
上传的llibfastcommon-1.0.43.tar.gz解压缩并导航到/usr/local/fastdfs目录导航至/usr /本地/快速DFS/libfastcommon-1.0.43目录
编译程序
./make.sh
安装
./make.sh安装
默认安装位置位于两个目录中:/usr/lib64和/usr/include/fastcommon。
创建软连接
ln-s/usr/lib 64/libfastcommon.so/usr /本地/lib/libfastcommon.so
LN-S/USR/LIB 64/Libfastcommon.so/USR/LIB/Libfastcommon.so
ln-s/usr/lib 64/libfdfsclient.so/usr /本地/lib/libfdfsclient.so
ln-s/usr/lib 64/libfdfsclient.so/usr/lib/libfdfsclient.so
解压缩
FastDFS主程序安装
fastdfs-6.06.tar.gz文件,然后将解压缩的fastdfs-6.06文件夹转换为/usr /本地/fast DFS /tar-zxvf快速DFS-6.06.tar.gz
mvfastdfs-6.06/usr /本地/快速DFS /
编译安装
前进到/usr /本地/快速DFS /快速DFS-6.06
./make.sh
./make.sh安装
安装后,FastDFS主程序的位置:
/usr/cqdxd -可执行文件的位置。
/etc/fdfs -设定档的位置。
/usr/lib64 -主程序代码所在的位置
/usr/include/fastdfs -包含的插件组的位置
服务配置
顺控脚本在/etc/init.d/目录中,脚本文件为fdfs -存储和fdfs -跟踪
配置文件
配置文件位于/etc/fdfs/目录中
tracker.conf.sample-tracker服务配置文件模板storage.conf.sample -存储服务器配置文件模板client.conf.sample - FastDFS为可以通过命令行测试FastDFS的有效性
Tracker 服务配置
来修改配置文件复制模板配置文件
光盘/以太网/光纤通道
CP tracker.conf .样本tracker.conf
创建/usr /本地/快速DFS /快速DFS -跟踪程序文件夹
vim跟踪器. conf
更改基本路径。 base_path FastDFSTracker启动后使用的根目录用于存储跟踪数据和日志
基本路径=/用户/本地/快速DFS
/fastdfs-tracker启动Tracker
/etc/init.d/fdfs_trackerd start
启动成功后,配置文件中base_path指向的目录中出现FastDFS服务相关数据目录(data目录、logs目录)
查看服务状态
ps -ef | grep fdfs
停止服务
/etc/init.d/fdfs_trackerd stop
重启服务
/etc/init.d/fdfs_trackerd restart
Storage 服务
配置文件
cd /etc/fdfs
cp storage.conf.sample storage.conf
mkdir -p /usr/local/fastdfs/fastdfs-storage/base
mkdir -p /usr/local/fastdfs/fastdfs-storage/store
修改storage.conf配置文件
vim storage.conf
base_path=/usr/local/fastdfs/fastdfs-storage/base
store_path0=/usr/local/fastdfs/fastdfs-storage/store
tracker_server=192.168.152.139:22122
base_path - 基础路径。用于保存storage server基础数据内容和日志内容的目录。store_path0 - 存储路径。是用于保存FastDFS中存储文件的目录,就是要创建256*256个子目录的位置。base_path和store_path0可以使用同一个目录。tracker_server - 跟踪服务器位置。就是跟踪服务器的ip和端口。启动服务
要求tracker服务必须已启动
/etc/init.d/fdfs_storaged start
启动成功后,配置文件中base_path指向的目录中出现FastDFS服务相关数据目录(data目录、logs目录)
配置文件中的store_path0指向的目录中同样出现FastDFS存储相关数据录(data目录)
其中$store_path0/data/目录中默认创建若干子孙目录(两级目录层级总计256*256个目录),是用于存储具体文件数据的。
Storage服务器启动比较慢,因为第一次启动的时候,需要创建256*256个目录。
查看服务状态
/etc/init.d/fdfs_storaged status
停止服务
/etc/init.d/fdfs_storaged stop
重启服务
/etc/init.d/fdfs_storaged restart
配置Client端
修改配置文件
cd /etc/fdfs
cp client.conf.sample client.conf
mkdir -p /usr/local/fastdfs/fastdfs-client
client.conf配置文件中主要描述客户端的行为,需要进行下述修改:
vim client.conf
base_path= /usr/local/fastdfs/fastdfs-client
tracker_server=192.168.152.1398:22122
base_path - 就是客户端命令行执行过程时临时数据存储位置。
校验整合
FastDFG的东西都已安装完成,最后我们还要确定一下,storage是否注册到了tracker中去
/usr/cqdxd/fdfs_monitor /etc/fdfs/storage.conf
测试上传文件
在根目录下上传一个123.jpg用作测试上传文件
/usr/cqdxd/fdfs_upload_file /etc/fdfs/client.conf /123.jpg
上传结束后,返回group1/M00/00/00/xxxxxxxxxx.xxx,检查storage服务结点中的$store_path0/data/00/00/目录中是否有上传的文件(一般情况上传的文件按顺序保存在$store_path0/data/00/00/目录中,不能完全保证)。
上传文件结果:group1/M00/00/00/wKiYi16K6NOATtArAAF3eLG6Dmw260.jpg
组名:group1文件上传后所在的storage组名称,在文件上传成功后有storage服务器返回,需要客户端自行保存。虚拟磁盘路径:M00 storage配置的虚拟路径,与磁盘选项store_path*对应。如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。数据两级目录:/00/00 storage服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。文件名:wKiYi16K6NOATtArAAF3eLG6Dmw260.jpg测试删除文件
/usr/cqdxd/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKiYi16K6NOATtArAAF3eLG6Dmw260.jpg
Nginx组件
如果FastDFS中保存的是图片信息。希望在WEB应用中可以直接访问FastDFS中的图片进行显示。如果操作?
安装Nginx是为了WEB应用中可以使用HTTP协议直接访问Storage服务中存储的文件。在storage结点所在服务器安装Nginx组件。
需要安装两部分内容。
Nginx应用,在安装nginx应用的时候,同时要在nginx中增加一个FastDFS的组件。
fastdfs-nginx-module模块
解压fastdfs-nginx-module-1.22.tar.gz,并把解压后的文件夹移动到/usr/local/fastdfs/
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
mv fastdfs-nginx-module-1.22 /usr/local/fastdfs/
修改配置
vim /usr/local/fastdfs/fastdfs-nginx-module-1.22/src/config
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon"
编译安装Nginx
cd /usr/local/fastdfs/installpackage/tengine-2.3.2
./configure --prefix=/usr/local/tengine --add-module=/usr/local/fastdfs/fastdfs-nginx-module-1.22/src/
make && make install
配置fastdfs-nginx-module
拷贝配置文件
cd /usr/local/fastdfs/fastdfs-nginx-module-1.22/src
cp mod_fastdfs.conf /etc/fdfs/
修改配置文件 mod_fastdfs.conf
tracker_server=192.168.152.139:22122
url_have_group_name = true
store_path0=/usr/local/fastdfs/fastdfs-storage/store
路径和storage中的store_path0路径必须相同
拷贝http服务需要的配置
复制FastDFS安装包中的两个配置文件(http.conf和mime.types)到/etc/fdfs目录中
/usr/local/fastdfs/fastdfs-6.06/conf
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
创建网络访问存储服务的软连接
在上传文件到FastDFS后,FastDFS会返回group1/M00/00/00/xxxxxxxxxx.xxx。其中group1是卷名,在mod_fastdfs.conf配置文件中已配置了url_have_group_name,以保证URL解析正确。
而其中的M00是FastDFS保存数据时使用的虚拟目录,需要将这个虚拟目录定位到真实数据目录上。
ln -s /usr/local/fastdfs/fastdfs-storage/store/data/ /usr/local/fastdfs/fastdfs-storage/store/data/M00
修改nginx配置文件
location ~ /group([0-9])/M00 {
ngx_fastdfs_module;
}
访问地址即可打开或下载文件
http://192.168.152.139/group1/M00/00/00/wKiWC10xxc6AfHCKAAAib-i5DLU543_big.log
下载文件时指定文件名添加
正在ngx_fastdfs_module;前面加上面下这个配置
add_header Content-Disposition "attachment;filename=$arg_attname";