CentOS7 安装FastDFS分布式文件系统
最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家分享一下。FastDFS的作者淘宝资深架构余庆,这个优秀的轻量及的分布式文件系统的开源没多久,立马就火了。
FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片、视频、文档等文件
版本介绍
系统:centos7.4
fastdfs-6.06.tar.gz
libfastcommon-1.0.43.tar.gz
fastdfs-nginx-module-1.22.tar.gz
nginx-1.17.7.tar.gz
一.FastDFS搭建工具下载
作者的GitHub地址:https://github.com/happyfish100
下载地址:
- nginx地址
二:使用 wget 命令下载压缩包,如果没有 wget 命令使用 yum 命令安装
yum install wget
三:下载 fastdfs
wget -c "https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz"
-O fastdfs-6.06.tar.gz
四:下载 libfastcommon
wget -c "https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz"
-O libfastcommon-1.0.43.tar.gz
五:下载 fastdfs-nginx-module
wget -c "https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz"
-O fastdfs-nginx-module-1.22.tar.gz
六:下载 nginx
wget -c http://nginx.org/download/nginx-1.17.7.tar.gz
七:安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
八:测试环境关闭防火墙
systemctl stop firewalld.service
九:开机禁用防火墙
systemctl disable firewalld.service
十:查看防火墙状态
firewall-cmd --state
十一:解压下载好的包
tar -zxvf fastdfs-6.06.tar.gz
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
tar -zxvf libfastcommon-1.0.43.tar.gz
tar -zxvf nginx-1.17.7.tar.gz
十二:编译安装 libfastcommon
1、进入解压后的目录
# cd /opt/softwares/libfastcommon-1.0.43
2、编译安装
# ./make.sh && ./make.sh install
3、检查
ls /usr/lib64|grep libfastcommon
ls /usr/lib|grep libfastcommon
出现libfastcommon.so
即成功
十三:编译安装 fastdfs
1、进入解压后的目录
# cd /opt/softwares/fastdfs-6.06
2、编译安装
# ./make.sh && ./make.sh install
3、检查
# ls /usr/bin|grep fdfs
4、启用配置文件
cd /etc/fdfs/
cp storage.conf.sample storage.conf
cp client.conf.sample client.conf
cp tracker.conf.sample tracker.conf
mkdir -p /fastdfs/tracker
5、修改 tracker.conf 文件
vim /etc/fdfs/tracker.conf
base_path = /fastdfs/tracker
6、启动 tracker 服务
/etc/init.d/fdfs_trackerd start
7、检查服务是否启动
ps -ef|grep fdfs
8、修改 storage.conf 文件
vim /etc/fdfs/storage.conf
base_path = /fastdfs/storage
store_path0 = /fastdfs/storage
tracker_server = 192.168.0.179:22122
http.server_port = 80
9、创建目录
mkdir -p /fastdfs/storage
10、启动 storage 服务
/etc/init.d/fdfs_storaged start
11、设置开机启动
vim /etc/rc.d/rc.local
加入配置
/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_storaged start
12、编辑 client.conf 文件
vim /etc/fdfs/client.conf
修改
base_path = /fastdfs/tracker
tracker_server=192.168.0.179:22122
十四:安装 nginx 和 fastdfs-nginx-module
1、安装pcre
yum -y install pcre pcre-devel
2、进入解压目录
cd /opt/softwares/nginx-1.17.7
3、添加 http_stub_status_module 模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
4、进入 /opt/softwares/fastdfs-nginx-module-1.22/src/
cd /opt/softwares/fastdfs-nginx-module-1.22/src
5、编辑配置文件
vim config
6、将config文件中的/usr/local替换成/usr
:%s+/usr/local+/usr
7、进入 nginx 解压目录
cd /opt/softwares/nginx-1.17.7
8、添加fastdfs-nginx-module
./configure --add-module=/opt/softwares/fastdfs-nginx-module-1.22/src/
9、编译安装
make && make install
10、复制并修改fastdfs-ngin-module中的配置文件
cp /opt/softwares/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
修改配置
connect_timeout=10
tracker_server=192.168.0.179:22122
url_have_group_name = true
store_path0=/fastdfs/storage
11、进入fastdfd源码conf目录
cd /opt/softwares/fastdfs-6.06/conf
12、将http.conf,mime.types两个文件拷贝到/etc/fdfs/目录下
cp http.conf mime.types /etc/fdfs/
13、创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据 的目录
ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
14、编辑 nginx 配置
vim /usr/local/nginx/conf/nginx.conf
修改配置
server {
listen 80;
server_name 192.168.0.179;
location ~/group([0-9])/M00 {
root /fastdfs/storage/data;
ngx_fastdfs_module;
}
}
15、启动 nginx
/usr/local/nginx/sbin/nginx
测试
1、下载测试图片到本地
wget -c "https://t.ki4.cn/2019/10/zau26v.jpg" -O springboot.jpg
2、上传测试图片
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/softwares/fastdfs-6.06/conf/springboot.jpg
得到返回文件名
group1/M00/00/00/wKgAs17MHPaAa5inAACumtGPxf4201.jpg
与ip拼接:http://192.168.0.179/group1/M00/00/00/wKgAs17MHPaAa5inAACumtGPxf4201.jpg
原文地址:https://developer.aliyun.com/article/745317
=======================================================================================
微信公众号: