一:所需要的安装包
libfastcommonV1.0.7.tar.gz (FastDFS依赖程序)
FastDFS_v5.05.tar.gz (FastDFS安装包)
fastdfs-nginx-module_v1.16.tar.gz (nginx和fastdfs的桥梁插件模块)
nginx-1.8.0.tar.gz (nginx安装包,用于做文件请求http代理服务器)
二:创建安装目录fastdfs
三:通过rz命令将安装包都上传到安装目录中
如果没有安装rz命令,可以通过yum -y install lrzsz安装rz和sz命令
四:全部解压安装包,解压后并删除安装包
五:安装fdfs编译时需要的gcc和运行时需要的libevent
yum -y install gcc gcc-c++
yum -y install libevent
六:安装libfastcommon
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。
cd /usr/local/fastdfs/libfastcommon-1.0.7/
./make.sh #编译
./make.sh install #安装
libfastcommon安装好后会在/usr/lib64 目录下生成 libfastcommon.so 库文件;由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。
cp /usr/lib64/libfastcommon.so /usr/lib
七:安装fastDFS(里面包含tracker和storage,在下面两步需要配置并启动它们)
cd /usr/local/fastdfs/FastDFS/
./make.sh
./make.sh install #编译之后接着进行安装
安装成功后,通过最后一行信息可以得知在/etc/fdfs下生成的有tracker.conf.sample,storage.conf.sample,client.conf.sample;如下图;(他们三个不是正常的配置文件,是加了特殊后缀的备份配置文件)
在下面两步中配置tracker和storage时,可以修改上面的配置文件,也可以通过将安装目录conf下的配置文件拷贝到/etc/fdfs/下,然后修改刚复制过来的配置文件;两种方式都可以
cp /usr/local/fastdfs/FastDFS/conf/* /etc/fdfs/
如果将Fdfs安装目录conf下的配置文件cp到/etc/fdfs下,则可以在/etc/fdfs下看到如下图的配置文件列表:
八:配置并启动tracker
修改tracker的配置文件,在其中修改tracker的数据和日志的存放目录(前提:该目录是提前创建好的目录)
vim /etc/fdfs/tracker.conf
base_path=/home/fastdfs/tracker
在tracker.conf中还可以看到tracker的端口22122,可以根据自己的需要修改;
配置完成以后可以启动tracker,并验证tracker是否启动成功:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
如果出现上图中的错误信息,则说明刚才修改配置文件时新增的base_path指向的路径没有提前创建好,创建好之后再次启动tracker:
tracker启动成功!
九:配置并启动storage
修改storage的配置文件,在其中修改一些必要的配置,如下
vi /etc/fdfs/storage.conf
group_name=group1 #默认组名,根据实际情况修改
port=23000 #storge默认23000,同一个组的storage端口号必须一致
base_path=/home/fastdfs/storage #storage存储data和log的根路径,必须提前创建好
store_path0=/home/fastdfs/store0 #如果为空,则使用base_path,也必须提前创建好
tracker_server=114.116.47.34:22122 #配置该storage监听的tracker的ip和port
http.server_port=80 #跟你在nginx.conf配置的监听端口号保持一致;如果想通过浏览器查看上传的文件,则此处必须要和nginx配置的监听端口一致
配置完成以后启动storage,并验证是否启动成功:(提前创建好所需要的两个目录)
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
storage启动成功!
十:安装并配置fastdfs-nginx-module
修改fastdfs-nginx-module/src/config配置文件,将下图路径中的local去掉,如下图:
去掉之后,如下图:
复制fastdfs-nginx-module/src/mod_fastdfs.conf 到/etc/fdfs目录下,并编辑
cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
tracker_server=192.168.216.134:22122
storage_server_port=23000
group_name=group1
url_have_group_name = true #默认是false,修改为true
store_path0=/home/fastdfs/store0 #和storage.conf中配置的store_path0对应
十一:安装nginx需要依赖
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
十二:安装、配置并启动nginx
由于上面安装的fastdfs-nginx-module是nginx和fastdfs的桥梁插件模块,所以需要将其配置为nginx的模块;
在编译和安装nginx之前,先将fastdfs-nginx-module配置到nginx的模块中:
./configure --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src
配置成功后,开始编译和安装nginx:
make
make install
我们在安装nginx时,没有指定安装路径,nginx被安装到了/usr/local/目录下;安装成功之后,需要配置nginx,让其把监听到的请求转到fastdfs中:
server{
listen 80;
server_name localhost;
location /group1/M00/{
ngx_fastdfs_module;
}
}
配置完成后,启动nginx,并验证是否正常启动:
至此fdfs安装完成,可以用代码连接fdfs并上传,下载文件了。