目录
二、环境安装(两台CentOs7即tracker与storage都需要执行,执行步骤一样)
五、配置nginx FastDFS实现文件服务器(在storage这台CentOs上)
Ⅰ 配置 fastdfs-nginx-module FastDFS和nginx的关联模块
恭喜!!!这是我目前写的最长的博客了,同时也恭喜你,成功搭建了属于自己的fastDFS文件服务系统~
FastFDS架构
FastFDS上传过程
一、环境准备
CentOs7.x两台,分别安装tracker与storage
下载安装包:
- libfatscommon:FastDFS分离出的一些公用函数包
- FastDFS:FastDFS本体
- fastdfs-nginx-module:FastDFS和nginx的关联模块
- nginx:发布访问服务
1、官网下载如下三个tar包 https://github.com/happyfish100
参考版本如下,我这里上传到 /home/software/FastDFS
二、环境安装(两台CentOs7即tracker与storage都需要执行,执行步骤一样)
1、安装基础环境
yum install -y gcc gcc-c++
yum -y install libevent
2、安装libfastcommon函数库
#解压
tar -zxvf libfastcommon-1.0.42.tar.gz
3、进入libfastcommon文件夹,编译并且安装
cd libfastcommon-1.0.42/
./make.sh
./make.sh install
4、回到目录上一级,安装fastdfs主程序文件
#解压
tar -zxvf fastdfs-6.04.tar.gz
5、进入解压后的文件夹,编译安装fastdfs
cd fastdfs-6.04/
./make.sh
./make.sh install
6、复制解压后的配置文件夹下的所有内容,到 /etc/fdfs/ 下(此步骤也可以将/etc/fdfs/下的sample举例配置文件复制,效果是一样的)
cp /home/software/FastDFS/fastdfs-6.04/conf/* /etc/fdfs/
三、配置tracker与storage配置文件
Ⅰ 配置tracker配置文件tracker.conf
1、进入配置文件目录,编辑配置文件
cd /etc/fdfs/
vim tracker.conf
2、具体修改内容
① tracker中只需要修改一处。数据和日志存放路径(当然你不修改使用默认也行)
# the base path to store data and log files
base_path=/usr/local/fastdfs/tracker
所以需要新建文件夹
mkdir /usr/local/fastdfs/tracker -p
3、启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
(题外:停止tracker)
/usr/bin/stop.sh /etc/fdfs/tracker.conf
Ⅱ 配置storage配置文件storage.conf
1、进入配置文件目录,编辑配置文件
cd /etc/fdfs/
vim storage.conf
2、具体修改内容
# 1、修改组名
group_name=xpfgroup1
# 2、修改storage的存储空间
base_path=/usr/local/fastdfs/storage
# 3、修改storage的存储空间
store_path0=/usr/local/fastdfs/storage
# 4、修改tracker的地址和端口号,用于心跳
tracker_server=192.168.217.129:22122
#后续结合nginx的一个对外服务端口号(这里暂时不变,提一下)
http.server_port=8888
3、创建目录
mkdir /usr/local/fastdfs/storage -p
4、启动storage
前提:必须首先启动了tracker
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
5、检查进程看是否启动成功
四、测试是否能成功上传文件
1、在storage这台CentOs中修改client.conf配置文件
cd /etc/fdfs
vim client.conf
2、修改client.conf内容如下
# 1、 the base path to store log files
base_path=/usr/local/fastdfs/client
# 2、tracker地址和端口
tracker_server=192.168.217.129:22122
#tracker_server=192.168.0.197:22122
3、修改完毕。需要把CentOs本地图片上传到storage中。
这里随便上传一张图片 baidu.png 到 /home 目录下
4、使用命令行,上传图片
#使用fdfs_test命令 客户端配置文件位置 上传 图片
/usr/bin/fdfs_test /etc/fdfs/client.conf upload baidu.png
5、 进入图片存储位置
cd /usr/local/fastdfs/storage/
cd data
继续 cd 00/00/
可以看到对应上面截图框起来的上传图片后的位置:
group_name=xpfgroup1, remote_filename=M00/00/00/wKjZgmI5lguAIXGrAAA8VOrzhhs667.png
example file url: http://192.168.217.130/xpfgroup1/M00/00/00/wKjZgmI5lguAIXGrAAA8VOrzhhs667.png
上传成功,测试完毕。
五、配置nginx FastDFS实现文件服务器(在storage这台CentOs上)
Ⅰ 配置 fastdfs-nginx-module FastDFS和nginx的关联模块
1、进入 /home/software/FastDFS/ ,解压上传的 fastdfs-nginx-module-1.22.tar.gz
cd /home/software/FastDFS/
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
2、解压完后,进入解压文件夹。
cd fastdfs-nginx-module-1.22/
cd src
3、复制文件 mod_fastdfs.conf 到统一配置文件地址 /etc/fdfs
cp mod_fastdfs.conf /etc/fdfs/
4、修改配置文件config。 只需要修改两处路径,把local删除,因为fastdfs安装的时候我们没有修改路径
5、进入 cd /etc/fdfs, 修改3中复制的文件mod_fastdfs.conf, vim mod_fastdfs.conf,内容如下
# 1、 the base path to store log files
base_path=/usr/local/fastdfs/tmp
# 2、tracker服务器的id和端口
tracker_server=192.168.217.129:22122
# 3、组名(这个和在storage.conf中的自定义组名一致)
group_name=xpfgroup1
# 4、访问路径url中是否包含组名
url_have_group_name = true
# 5、和storage.conf中的storage.conf路径一样
# must same as storage.conf
store_path0=/usr/local/fastdfs/storage
6、创建上述配置中的日志文件夹
mkdir /usr/local/fastdfs/tmp -p
Ⅱ 安装nginx
1、nginx还未安装,请看安装nginx(官网下载编译安装)_p&f°的博客-CSDN博客
注意:但是第6步中的配置需要在最后面多加一行,加入fastdfs-nginx-module模块,其他步骤一样
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/home/software/FastDFS/fastdfs-nginx-module-1.22/src
2、nginx已经安装,请看已安装的nginx,添加新模块fastdfs-nginx-module_p&f°的博客-CSDN博客
3、进入cd /usr/local/nginx/conf/ ,修改配置文件 vim nginx.conf
再加入一个server内容如下:
server {
## 该端口为storage.conf中的http.server_prot相同
listen 8888;
server_name loaclhost;
location /xpfgroup1/M00 {
ngx_fastdfs_module;
}
}
4、检查nginx配置文件是否有问题 /usr/local/nginx/sbin/nginx -t ,
无问题启动nginx:/usr/local/nginx/sbin/nginx
六、最后检测,看是否外部能否通过url访问服务。
1、还记得上述第 四、测试是否能成功上传文件,我们传入了一张 baidu.png 图片。找到图片在fastdfs中的名字
cd /usr/local/fastdfs/storage/data/00/00/
2、访问storage地址 192.168.217.130:8888/xpfgroup1/M00/00/00/wKjZgmI5lguAIXGrAAA8VOrzhhs667.png