一、环境准备
1、GCC
Fastdfs(以下简称fdfs)需要依赖GCC环境编译,首先需要安装GCC
yum install -y gcc gcc-c++
2、libevent
若安装了桌面图形界面,就不需要安装;FastDFS依赖libevent库;
yum -y install libevent
二、fdfs安装
1、安装libfastcommon
libfastcommon(本次使用v1.0.7版本)包含了fdfs运行所需要的一些基础库,安装包由官网提供,下载地址:https://sourceforge.net/projects/libfastcommon/
下载完后,上传至服务器后解压至/usr/local/目录下
tar -zxvf libfastcommonV1.0.7.tar.gz -C /usr/local/
进入解压后的libfastcommon目录,编译
cd /usr/local/libfastcommon/
./make.sh
./make.sh install
2、安装tracker
1)下载fdfs tracker
下载地址:https://sourceforge.net/projects/fastdfs/ 找到下方任意版本版本安装包下载,或者在作者的gihub(https://github.com/happyfish100/fastdfs)上下载更新的版本
2)解压并编译
将tracker安装包解压至/usr/local目录下,然后编译
tar zxvf FastDFS_v5.08.tar.gz -C /usr/local/
cd /usr/local/FastDFS/
./make.sh
./make.sh install
3)配置并启动
切换目录到: /etc/fdfs/ 目录下,复制一份新的tracker配置文件
cp tracker.conf.sample tracker.conf
修改如下配置
base_path=/usr/local/fastdfs/tracker
http.server_port=80 #配置http端口
创建tracker目录,启动tracker
mkdir -r /usr/local/fastdfs/tracker
#启动start、停止stop、重启restrat
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
3、安装storage
上述安装fdfs中,已进行过一次编译,只需要配置即可。
切换目录到: /etc/fdfs/ 目录下,复制一份新的storage配置文件
cp storage.conf.sample storage.conf
vi storage.conf
修改如下配置
group_name=group1 #配置组名
base_path=/usr/local/fastdfs/storage
#空则取base_path
store_path0=
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=.....
#配置tracker服务器:IP,如果有多个则配置多个tracker
tracker_server=127.0.0.1:22122
#配置http端口
http.server_port=8888
创建stroage目录,并启动
mkdir -r /usr/local/fastdfs/storage
#start、stop、restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
4、配置client
切换目录到: /etc/fdfs/ 目录下,复制一份新的client配置文件
cp client.conf.sample client.conf
vi client.conf
修改如下配置
#tracker节点
tracker_server=127.0.0.1:22122
#日志路径
base_path=usr/local/fastdfs/client
4、验证
命令:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
看到如图,说明tracker与storage能够通信,安装成功。
然后测试上传,命令:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.txt
出现类似/group1/M00…文件路径,说明上传成功。
三、nginx支持模块安装
1、fastdfs-nginx-module模块
1)下载fastdfs-nginx-module模块并解压,进入src目录修改mod_fastdfs.conf
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.zip
cd fastdfs-nginx-module-1.20/src/
vi mod_fastdfs.conf
2)修改如下配置
#配置tracker的ip地址
tracker_server=127.0.0.1:22122
#是否url路径使用组名,默认false
url_have_group_name = true
#文件保存路径,与stroarge一致
store_path0=/usr/local/fastdfs/storage
修改完后,将mod_fastdfs.conf文件拷贝纸/etc/fdfs/目录下
cp mod_fastdfs.conf /etc/fdfs/
3)修改fastdfs-nginx-module/src/config文件
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
进入nginx安装包目录,添加fdfs nginx支持模块
cd cd nginx-1.14.2
./configure --add-module=/fastdfs-nginx-module-1.20/src
make && make install
- 增加nginx配置
增加如下nginx配置,然后重启nginx。上传文件后,可支持按指定名称下载文件。
location ~/group[0-9]/ {
set $name $arg_attname;
if ($name) {
add_header Content-Disposition 'attachment;filename="$name"';
}
ngx_fastdfs_module;
}