FastDFS单机版安装
一、准备工作(俩台机器同时进行)软件准备
2安装gcc。命令:yuminstall make cmake gcc gcc-c++
2、安装libfastcommon(俩台机器同时进行)
unzip libfastcommon-master.zip -d/usr/local/fast/
cd /usr/local/fast/libfastcommon-master/ &&clear && ll
./make.sh
注意安装的路径:也就是说,我们的libfastcommon默认安装到了/usr/lib64/这个
位置。
5 进行软件创建。FastDFS主程序设置的目录为
/usr/local/lib/,所以我们需要创建/usr/lib64/下的一些核心执行程序的软连接文件。
命令:mkdir /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
:
3、安装FastDFS
1 进入到cd/usr/local/softwares下,解压FastDFS_v5.05.tar.gz文件
命令:cd /usr/local/softwares
命令:tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
2 安装编译
命令:cd /usr/local/fast/FastDFS/
编译命令:./make.sh
安装命令:./make.sh install
3 采用默认安装方式脚本文件说明:
1、服务脚本在:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd
2、配置文件在:
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample
4 因为FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了
/usr/bin/下面。所以我们需要修改FastDFS配置文件中的路径,也就是需要修改俩
个配置文件:
命令:vim /etc/init.d/fdfs_storaged
进行全局替换命令:%s+/usr/local/bin+/usr/bin
命令:vim /etc/init.d/fdfs_trackerd
进行全局替换命令:%s+/usr/local/bin+/usr/bin
4、配置跟踪器(192.168.0.175节点)
1 进入 cd /etc/fdfs/目录配置跟踪器文件(注意是192.168.0.175节点),
把tracker.conf.sample文件进行cope一份:去修改tracker.conf文件修改tracker.conf文件
命令:vim /etc/fdfs/tracker.conf
我们暂时修改配置文件里的base_path即可。
修改为自己的路径地址:
base_path=/fastdfs/tracker
注意:对于tracker.conf
配置文件参数解释可以找官方文档,地址为:
http://bbs.chinaunix.net/thread-1941456-1-1.html
3 最后我们一定要创建之前定义好的目录(也就是/fastdfs/tracker):
命令:mkdir -p /fastdfs/tracker
4 关闭防火墙: Vim/etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重启:service iptables restart
5 启动跟踪器
目录命令:cd /fastdfs/tracker/ && ll
启动tracker命令:/etc/init.d/fdfs_trackerd start
查看进程命令:ps -el | grep fdfs
停止tracker命令:/etc/init.d/fdfs_trackerd stop
6 可以设置开机启动跟踪器:(一般生产环境需要开机启动一些服务,如keepalived、
linux、tomcat等等)
命令:vim /etc/rc.d/rc.local 加入配置:/etc/init.d/fdfs_tracker
5、配置FastDFS存储(192.168.0.169)
1 进入文件目录:cd/etc/fdfs/,进行copystorage文件一份
命令:cd /etc/fdfs/
命令:cp storage.conf.sample storage.conf
2 修改storage.conf文件
命令:vim /etc/fdfs/storage.conf
修改内容:
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.0.175:22122
http.server_port=8888
3 创建存储目录:mkdir -p/fastdfs/storage
4 打开防火墙:
命令:vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
重启:service iptables restart
启动存储(storage)
命令:/etc/init.d/fdfs_storaged start
(关闭:/etc/init.d/fdfs_storaged stop)(初次启动成功后会在/fastdfs/storage/
目录下创建 data、logs俩个目录)
6 查看FastDFS storage 是否启动成功
命令:ps -ef | grep fdfs
并且我们进入到/fastdfs/storage/data/
文件夹下会看到一些目录文件(256*256),如下:命令:
cd /fastdfs/storage/data/ && ls
7同理,也可以设置开机启动存储器:(一般生产环境需要开机启动一些服务)
命令:vim /etc/rc.d/rc.local加入配置:
/etc/init.d/fdfs_storaged start
到此为止我们的FastDFS环境已经搭建完成!
6、测试环境
1 我们先使用命令上传一个文件。注意:是在tracker(跟踪器)中上传。首先我们在跟踪器(192.168.0.175)里copy一份client.conf文件。
命令:cd /etc/fdfs/
命令:cp client.conf.sample client.conf
编辑client.conf文件
命令:vim /etc/fdfs/client.conf
修改内容:
base_path=/fastdfs/tracker
tracker_server=192.168.0.175:22122
3 我们找到命令的脚本位置,并且使用命令,进行文件的上传:
命令:cd /usr/bin/
命令:ls | grep fdfs
4 使用命令fdfs_upload_file进行上传操作:
/fastdfs/storage/data/00/00 里面什么文件都没有。
然后,我们进行上传操作,比如把之前的/usr/local/softwares/
文件夹下的某一个文件上传到FastDFS系统中去,在跟踪器(192.168.0.175)中上传文件
命令如下:
命令:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/softwares/FastDFS_v5.05.tar.gz
最后我们发现,命令执行完毕后,返回一个group1/M00/00/00/...的ID
group1/M00/00/00/wKgAqVnlgpmAHJ_-AAVFOL7FJU4.tar.gz
,其实就是返回当前所上传的文件在存储器(192.168.0.169)中的哪一个组、哪一个目录位置,所以我们查看存储器中的/fastdfs/storage/data/00/00
文件夹位置,发现已经存在了刚才上传的文件,到此为止,我们的测试上传文件已经OK了。
7、FastDFS与Nginx整合
1 首先两台机器里必须先安装nginx
1: 进行安装: tar -zxvf nginx-1.6.2.tar.gz
2 : 下载锁需要的依赖库文件:
yuminstall pcre
yuminstall pcre-devel
yuminstall zlib
yuminstall zlib-devel
3 : 进行configure配置:cdnginx-1.6.2 && ./configure --prefix=/usr/local/nginx 查看是否报错
4 : 编译安装 make&& make install
2 然后我们在存储节点上(192.168.0.169)安装fastdfs-nginx-module_v1.16.tar.gz
包进行整合。目录命令:cd /usr/local/softwares/
解压命令:tar -zxvf /usr/local/softwares/fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
3 进入目录:cd /usr/local/fast/fastdfs-nginx-module/src/
4 编辑配置文件config
命令:vim /usr/local/fast/fastdfs-nginx-module/src/config
修改内容:去掉下图中的local文件层次(第四行两处)
修改完毕为:
5 FastDFS与nginx进行集成
进入到nginx目录命令:cd /usr/local/softwares/nginx-1.6.2/
加入模块命令:./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
重新编译命令:make && make install
6 复制fastdfs-nginx-module中的配置文件,到/etc/fdfs目录中
copy命令:cp/usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
7 进行修改 /etc/fdfs/ 目录下,刚刚copy过来的mod_fastdfs.conf文件。
命令:vim /etc/fdfs/mod_fastdfs.conf
修改内容:比如连接超时时间、跟踪器路径配置、url的group配置、
connect_timeout=10
tracker_server=192.168.0.175:22122
url_have_group_name = true
store_path0=/fastdfs/storage
8 复制FastDFS里的2个文件,到/etc/fdfs目录中,
目录命令:cd /usr/local/fast/FastDFS/conf/
Copy命令:cp http.conf mime.types/etc/fdfs/
9 创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录。命令:
ln -s /fastdfs/storage/data//fastdfs/storage/data/M00
10 修改Nginx配置文件,如图所示:命令:vimnginx.conf
修改配置内容如下图所示:
修改内容为:
listen 8888;
server_name localhost;
location ~/group([0-9])/M00
{
#alias/fastdfs/storage/data;
ngx_fastdfs_module;
}
注意:nginx里的端口要和第五步配置FastDFS存储中的storage.conf文件配置一致,
也就是(http.server_port=8888)
11 最后检查防火墙,然后我们启动nginx服务
启动命令:/usr/local/nginx/sbin/nginx
我们刚才上传了一个文件,返回的id为
group1/M00/00/00/wKgAqVnlgpmAHJ_-AAVFOL7FJU4.tar.gz
用浏览器访问地址:
http://192.168.0.169:8888/group1/M00/00/00/wKgAqVnlgpmAHJ_-AAVFOL7FJU4.tar.gz
我们就可以下载这个文件啦!如下图所示:
注意:在使用FastDFS的时候,需要正常关机,不要使用kill -9 强杀FastDFS
进程,不然会在文件上传时出现丢数据的情况。到此FastDFS与Nginx整合完毕!!
八:启动停止服务步骤如下:
启动命令:
启动tracker命令:/etc/init.d/fdfs_trackerd start
查看进程命令:ps -el | grep fdfs
启动storage命令:/etc/init.d/fdfs_storaged start
查看进程命令:ps -el | grep fdfs
启动nginx命令:/usr/local/nginx/sbin/nginx
停止命令:
停止tracker命令:/etc/init.d/fdfs_trackerd stop
关闭storage命令:/etc/init.d/fdfs_storaged stop
关闭nginx命令:/usr/local/nginx/sbin/nginx -s stop