一、环境和软件准备
环境:centos6.9或centos7两台机器
下载软件:
1.下载FastDFS软件:FastDFS_v5.08.tar.gz
2.下载libfastcommon:libfastcommon-1.0.7.tar.gz;历史版本【这里写链接内容】
3.下载fastdfs-nginx-module:fastdfs-nginx-module_v1.16.tar.gz
4.下载nginx:nginx-1.14.0
二、安装一些基本库
1.安装gcc:yum install gcc gcc-c++ -y
2.其他的库看看那些事你需要的:
yum -y install zlib zlib-devel pcre pcre-devel openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
三、两台服务器都安装libfastcommon
1.新建/usr/local/fast:mkdir /usr/local/fast -pv
2.将libfastcommon-1.0.7.tar.gz上传到此目录下
3.解压文件:tar -zxvf libfastcommon-1.0.7.tar.gz
4.进入libfastcommon-1.0.7:cd libfastcommon-1.0.7
5.进行编译安装
./make.sh
./make.sh install
6.进行软连接创建。FastDFS主程序设置的目的为/use/local/lib,所以我们需要创建/usr/lib64下的一些核心执行程序的软连接文件。
mkdir /usr/local/lib/ -pv
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
四、安装FastDFS(1-4步骤两台服务器都要安装)
1.将FastDFS_v5.08.tar.gz上传到 /usr/local/fast
2.解压压缩包到该目录:tar -zvxf FastDFS_v5.08.tar.gz
3.进入FastDFS:cd /usr/local/fast/FastDFS
4.安装编译:
./make.sh
./make.sh install
注意:这里很多时候没有安装成功是因为你libfastcommon没有安装成功
5.默认安装完之后
服务脚本在:
[root@localhost init.d]# cd /etc/init.d/ && ls | grep fdfs
fdfs_storaged
fdfs_trackerd
配置文件在:
[root@localhost init.d]# cd /etc/fdfs && ls | grep sample
client.conf.sample
storage.conf.sample
tracker.conf.sample
命令行工具在:
[root@fastDFS nginx]# cd /usr/bin/ && ls | grep fdfs
fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file
6.1在一台服务器上配置tracker跟踪器
1).新建一个目录:mkdir /fastdfs/tracker -pv
2).进入配置文件目录:cd /etc/fdfs/
3).将tracker.conf.sample复制为:cp tracker.conf.sample tracker.conf
4).打开配置文件并修改配置:
vim /etc/fdfs/tracker.conf
修改base_path为:
base_path=/fastdfs/tracker
注意:记得开放22122端口
5).开放端口命令如下:
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
service iptables restart
查看防火墙开放的端口:
iptables -L -n
6).启动tracker:
/etc/init.d/fdfs_trackerd start
查看端口22122是否开始监听,确认启动是否成功:
ps -ef|grep fdfs
netstat -unltp | grep fdfs
7).设置开启启动
vim /etc/rc.d/rc.local
在这个文件里面增加:/etc/init.d/fdfs_trackerd start
6.2在另外一台机器上配置FastDFS存储
1).新建一个目录:mkdir /fastdfs/storage -pv
2).进入配置文件目录:cd /etc/fdfs/
3).将storage.conf.sample复制为:cp storage.conf.sample storage.conf
4).打开配置文件并修改配置:
vim /etc/fdfs/storage.conf
修改base_path为:
http.server_port=8888
#这里ip填写tracker服务器的ip
tracker_server=ip:22122
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
注意:记得开放23000 和8888端口
5).开放端口命令如下:
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
service iptables restart
查看防火墙开放的端口:
iptables -L -n
6).启动storage:
/etc/init.d/fdfs_storaged start
确认启动是否成功:
ps -ef|grep fdfs
netstat -unltp | grep fdfs
初次启动成功后会在/fastdfs/storage目录下创建logs,data目录,你可以打开看看里面的目录结构。
7).设置开启启动
vim /etc/rc.d/rc.local
在这个文件里面增加:/etc/init.d/fdfs_storaged start
7.测试环境是否成功了
1).在tracker那台服务器
打开配置文件目录:cd /etc/fdfs
2).将配置文件重命名为: cp client.conf.sample client.conf
3).修改base_path为:
vim client.conf
base_path=/fastdfs/tracker
#这里ip填写tracker服务器的ip
tracker_server=ip:22122
4).测试
上传文件
[root@localhost fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/fast/FastDFS_v5.08.tar.gz
group1/M00/00/00/wKgrTVsZ-i6ALhYiAAVCLLrKVow.tar.gz
[root@localhost fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/fast/honey.jpg
group1/M00/00/00/wKgrTVsZ-lyAJkDzAAHDXym91mQ308.jpg
记录一下你上传测试返回的uri,比如:group1/M00/00/00/wKgrTVsZ-lyAJkDzAAHDXym91mQ308.jpg
5).上传完了之后你可以去storage那台服务器看看是否有文件了
一般情况看看这个目录:
/fastdfs/storage/data/M00/00/00
8.FastDFS与Nginx整合
在storage那台服务器安装nginx
1).将fastdfs-nginx-module_v1.16.tar.gz和nginx-1.14.0.tar.gz上传到 /usr/local/fast
2).解压压缩包到该目录:tar -zvxf fastdfs-nginx-module_v1.16.tar.gz 和 tar -zvxf nginx-1.14.0.tar.gz
3).进入fastdfs-nginx-module的src目录:cd /usr/local/fast/fastdfs-nginx-module/src/
4).修改config:
vim config
将 /usr/local/include/fastdfs /usr/local/include/fastcommon/中的local层级删除
5).进入目录/usr/local/fast/fastdfs-nginx-module/src中可以看到一个mod_fastdfs.conf配置文件
将它复制到/etc/fdfs
cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
6).修改该配置文件
vim /etc/fdfs/mod_fastdfs.conf
配置为:
connect_timeout=10
#tracker服务器的ip
tracker_server=ip:22122
store_path0=/fastdfs/storage
url_have_group_name = true
7).进入/usr/local/fast/FastDFS/conf将文件复制到/etc/fdfs目录下
cp /usr/local/fast/FastDFS/conf/http.conf mime.types /etc/fdfs
8).创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录
ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
9).安装nginx
进入nginx-1.14.0目录:cd /usr/local/fast/nginx-1.14.0
编译安装:
./configure --prefix=/usr/local/nginx --with-openssl=/usr/local/fast/openssl-1.0.1e --with-http_ssl_module \
--add-module=/usr/local/fast/fastdfs-nginx-module/src
这个环境可能会失败,我这里需要制定oppenssl源码目录
执行安装命令:
make && make install
安装成功之后配置nginx.conf
vim /usr/local/nginx/conf/nginx.conf
配置如下:
listen 8888;
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
启动nginx服务:
启动:
/usr/local/nginx/sbin/nginx
停止:
/usr/local/nginx/sbin/nginx -s stop
看看nginx进程
ps -ef | grep nginx
9.在浏览器中可以访问
http://ip:8888/group1/M00/00/00/wKgrTVsZ-lyAJkDzAAHDXym91mQ308.jpg