1.上传FastDFS需要的依赖文件
到/home/user1/fdsf下
2.安装FastDFS需要的依赖
2.1 GCC用来对C语言代码进行编译运行,使用yum命令安装:
sudo yum -y install gcc
2.2 安装unzip工具,帮助解压
sudo yum install -y unzip zip
2.3 安装libevent
Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库
sudo yum -y install libevent
2.4 安装libfastcommon-master
没有yum包,通过编译安装,解压刚刚上传的libfastcommon-master.zip
sudo unzip libfastcommon-master.zip
进入目录
cd libfastcommon-master
编译并安装
sudo ./make.sh
sudo ./make.sh install
3.安装FastDFS
3.1 编译安装
tar -zxvf FastDFS_v5.08.tar.gz
cd FastDFS
sudo ./make.sh
sudo ./make.sh install
3.2 测试安装是否成功
ll /etc/init.d/ | grep fdfs
如果安装成功,可以在/etc/init.d目录看到FastDFS提供的启动脚本
其中:
fdfs_trackerd
是tracker启动脚本fdfs_storaged
是storage启动脚本
在/etc/fdfs也可以看到下列配置文件模板
其中:
tarcker.conf.sample
是tracker的配置文件模板storage.conf.sample
是storage的配置文件模板client.conf.sample
是客户端的配置文件模板
3.3 启动tracker Server
3.3.1 编辑tracker配置文件
cd /etc/fdfs
sudo cp tracker.conf.sample tracker.conf
编辑tracker.conf,修改base_path,即 tracker的数据和日志存放目录
#the base path to store data and log files
base_path=/usr/local/fastDFS/tracker
创建对应文件夹
sudo mkdir -p /usr/local/fastDFS/tracker
3.3.2.启动tracker
sudo service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop
设置为开机启动
sudo chkconfig fdfs_trackerd on
3.4 启动Storage Server
3.4.1. 编辑Storage配置文件
cd /etc/fdfs
sudo cp storage.conf.sample storage.conf
打开storage.conf
,修改如下配置
base_path=/usr/local/fastDFS/storage # storage的数据和日志存放目录
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/usr/local/fastDFS/storage # storage的上传文件存放路径
# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=192.168.25.100:22122 # tracker的地址
创建对应文件夹
sudo mkdir -p /usr/local/fastDFS/storage
3.4.2. 启动Storage
sudo service fdfs_storaged start # 启动fdfs_storaged服务,停止用stop
设置为开机启动
sudo chkconfig fdfs_storaged on
3.4.3. 通过ps -ef | grep fdfs检查
3.5 测试文件上传
进入/etc/fdfs目录,修改client.conf文件
sudo cp client.conf.sample client.conf
修改内容如下:
tracker_server=192.168.25.100:22122
base_path=/tmp
先上传一个图片1.jpg到/tmp
运行:
sudo /usr/bin/fdfs_upload_file client.conf /tmp/1.jpg
返回结果为
group1/M00/00/00/wKgZZFydXTKAcaIxAACMRJaSMkw131.jpg
1.组名:文件上传后所在的storage组名称,在文件上传成功后有storage服务器返回,需要客户端自行保存。
2.虚拟磁盘路径:storage配置的虚拟路径,与磁盘选项store_path*对应。如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。
3.数据两级目录:storage服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。
4. 文件名:与文件上传时不同,是由存储服务器根据特定信息生成,文件名包含:源存储服务器IP地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。
4.nginx集成FastDSF模块
这里已经安装了nginx
4.1 安装FDSF的Nginx模块插件
4.1.1.解压
sudo tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
4.1.2.配置config文件
进入解压好的路径的/src/,修改config文件,执行下面命令
:%s+/usr/local/+/usr/+g #将配置中的/usr/local改为/usr
4.1.3.配置mod_fastdfs.conf
将src目录下的mod_fastdfs.conf移动到/etc/fdfs
sudo cp mod_fastdfs.conf /etc/fdfs
修改:
connect_timeout=10 # 客户端访问文件连接超时时长(单位:秒)
tracker_server=192.168.25.100:22122 # tracker服务IP和端口
url_have_group_name=true # 访问链接前缀加上组名,如group1
store_path0=/usr/local/fastDFS/storage # 文件存储路径
4.1.4. 复制 FastDFS的部分配置文件到/etc/fdfs目录
进入FastDFS_v5.08.tar.gz的解压目录下的/conf
sudo cp http.conf mime.types /etc/fdfs/
4.2 修改已安装的nginx的配置
4.2.1. 重新配置
进入nginx解压包,配置如下:
sudo ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/fdsf/fastdfs-nginx-module/src
- prefix:日志文件、配置文件安装的目录
- sbin-path:脚本文件
- add-module:fastdfs-nginx模块的源码包
4.2.2. 只编译
sudo make
4.2.3. 用刚刚编译过的nginx替换以前的nginx
sudo cp objs/nginx /opt/nginx
4.2.4 .配置nginx整合fastdfs-module模块
我们需要修改nginx配置文件,在/opt/nginx/config/nginx.conf文件
server {
listen 80;
server_name #自定义域名;
# 监听域名中带有group的,交给FastDFS模块处理
location ~/group([0-9])/ {
ngx_fastdfs_module;
}
#下面可以删除
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
5.启动nginx即可
返回下述输出表示FastDSF整合成功
ngx_http_fastdfs_set pid=16476