软件准备
FastdfsFastdfs_v5.11 点击这里
libfastcommon_1.0.36 点击这里
fastdfs-nginx-module5.11 点击这里
nginxnginx-1.12.2 点击这里
环境准备
安装perl环境,后续编译fastdfs会用到
$yum -y install perl* #yum安装perl相关支持)
$yum -y install cpan #perl需要的程序库,需要cpan的支持
安装gcc编译器,fastdfs是用c语言开发而来的。
$yum -y install gcc-c++
在安装nginx之前需要先安装一些模块依赖的lib库:pcre-devel、zlib-devel、openssl-devel
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
解压压缩包
#在/usr/local下创建文件夹
mkdir fastDfs
#解压上传的四个文件到上面的文件夹中
tar -zxvf libfastcommon-1.0.36.tar.gz -C /usr/local/fastDfs/
tar -zxvf fastdfs-5.11.tar.gz -C /usr/local/fastDfs/
tar -zxvf nginx-1.12.2.tar.gz -C /usr/local/fastDfs/
tar -zxvf fastdfs-nginx-module-1.20.tar.gz -C /usr/local/fastDfs/
1、安装libfatscommon
#进入libfastcommon目录
cd libfastcommon-1.0.36/
#编译安装
./make.sh
./make.sh install
安装成功
2、 安装Fastdfs
#同理,进入fastdfs-5.11
cd fastdfs-5.11/
#编译
./make.sh
./make.sh install
编译成功,会生成以下四个文件:
进行拷贝,以备用
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp storage_ids.conf.sample storage_ids.conf
cp tracker.conf.sample tracker.conf
再将conf文件夹中的http.conf和mime.types拷贝到 /etc/fdfs/中
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
至此,Fastdfs安装完成
3、 配置Tracker
创建文件夹:即用于存储Tracker的数据文件和日志文件等。此路径在后续的Tracker文件配置中都用到
mkdir /opt/fastdfs_tracker
修改/etc/fdfs目录下的tracker.conf配置文件,打开文件后依次做如下修改:修改成刚创建的路径
配置完毕后,启动tracker服务器
#启动
service fdfs_trackerd start
启动成功后,可以在刚创建的文件夹中(/opt/fastdfs_tracker)找到两个新文件
至此,Tracker配置完成
4、 配置Storage
同理,和Tracker配置流程一致。创建Storage服务器的文件目录fastdfs_storage,同时比Tracker多建了一个文件存储路径目录fastdfs_storage_data,用于存放接收的文件。
mkdir /opt/fastdfs_storage
mkdir /opt/fastdfs_storage_data
同理,修改storage的配置文件。目录/etc/fdfs/storage.conf
cd /etc/fdfs/
vim storage.conf
这个配置文件需要修改三个地方:
配置完成后,开始启动Storage。注意:必须要开启Tracker。
service fdfs_storaged start
启动成功后,可以在fastdfs_storage_data中看到生成的data文件夹
至此,Storage配置成功
查看一下这两个服务状态
netstat -unltp |grep fdfs
此时已经正常监听tracker的22122端口和storage的23000端口
确定了storage服务器启动成功后,还有一项工作就是看看storage服务器是否已经登记到 tracker服务器(也可以理解为tracker与storage是否整合成功),运行以下命令:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
至此,storage服务器配置完成。
5、 配置客户端client
同理,编辑/etc/fdfs/client.conf文件
cd /etc/fdfs/
vim client.conf
配置完成后,进行初步测试:编写一个文件
#里面随便写点数
vim t.txt
执行客户端上传命令进行测试:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf t.txt
返回的路径就只文件的存储目录,在/opt/fastdfs_storage_data目录下
至此,测试成功
想在web段查看上次存储的文件,需要安装nginx和fastdfs-nginx-module
6、 安装fastdfs-nginx-module
进入fastdfs-nginx-module/src中,将mod_fastdfs.conf文件复制到/etc/fdfs/目录下
cp mod_fastdfs.conf /etc/fdfs/
#并且修改mod_fastdfs.conf的内容
vim /etc/fdfs/mod_fastdfs.conf
修改文件
修改fastdfs-nginx-module-1.20/src/config文件,修改如下:(为了解决后面Nginx编译失败)
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
插件配置完毕
7、 安装NGINX
进入Nginx的目录
cd /usr/local/fastDfs/nginx-1.12.2/
对Nginx重新config(就是把上面的nginx插件加入到Nginx中)
先查询插件的解压路径(我的在/usr/local/fastDfs/fastdfs-nginx-module-1.20/src)
查询后填写在module=后面
进入到nginx文件夹中,执行此命令
./configure --add-module=/usr/local/fastDfs/fastdfs-nginx-module-1.20/src
插件安装成功后在进行进行编译安装
make
make install
安装完成后再指定路径/usr/local/nginx可查看到安装的目录
进入到安装目录后,再进入conf
编辑nginx.conf
增加以下内容
#location放在server里面
location ~/group1/M00 {
root /opt/fastdfs_storage_data/data;
ngx_fastdfs_module;
}
再进入sbin启动Nginx
cd ..
cd sbin/
./nginx
启动成功后查看进程
ps -aux | grep nginx
在输入服务器的公网IP,可以看见nginx的页面。
我们再来测试刚刚上传的txt
ip后再加上这一串,就可以在浏览器上访问了
至此,全部完成
成功后,可以将tracker服务和Storage设置为开机启动
打开/etc/rc.d/目录,在rc.local中添加service fdfs_trackerd start和
service fdfs_storaged start
并且对rc.local进行授权。
授权
chmod +x /etc/rc.d/rc.local
完毕