CentO7.9 安装部署 FastDFS
CentO7.9 安装部署 FastDFS
一、FastDFS 简介
FastDFS 是一款轻量级的开源分布式文件系统,功能包括:文件存储、文件同步、文件上传、文件下载等,解决了文件大容量存储和高性能访问问题。特别适合以文件为载体的在线服务,如图片、视频、文档服务等等。
FastDFS 的架构比较简单,如下图所示:
详细介绍请参考:https://www.cnblogs.com/miracle-luna/p/17735794.html
二 、FastDFS 安装
1、安装介质准备
安装前,需要事先准备好如下安装介质:
libfastcommon-master.zip
fastdfs-master.zip
fastdfs-nginx-module-1.22.tar.gz
nginx-1.22.1.tar.gz
安装介质可以在如下百度网盘中下载:
链接:https://pan.baidu.com/s/1BnUmlqpCShycpBrBU3sSiw
提取码:luna
2、配置环境
查看 gcc-c++ 环境配置,命令如下:
gcc --version
说明:如果没有配置,执行如下命令安装 gcc:
yum -y install gcc-c++
3、安装依赖库
1)安装 FastDFS 依赖的 libevent 库:
yum -y install libevent
2)安装 FastDFS 操作的基础库 libfastcommon:
上传 libfastcommon-master.zip 到 /software/ 目录下
mkdir /software
unzip libfastcommon-master.zip -d /software
cd /software/libfastcommon-master/
./make.sh
./make.sh install
4、安装 FastDFS
1)上传 FastDFS(fastdfs-master.zip)到 /software/ 目录下
2)解压 fastdfs-master.zip
unzip fastdfs-master.zip -d /software
3)重命名目录
mv fastdfs-master fastdfs
4)安装
cd /software/fastdfs
./make.sh
./make.sh install
5)复制配置文件
cp /software/fastdfs/conf/* /etc/fdfs/
5、配置 Tracker
1)创建目录存放 Tracker 的 logs 和 data
mkdir -p /usr/local/fastdfs/tracker
2)修改 Tracker 配置文件
vim /etc/fdfs/tracker.conf
说明:如果没有 vim 命令,执行如下命令安装vim:
yum -y install vim
3)配置文件是否不生效,false 为生效
4)HTTP 服务端口 默认8080 ,建议修改 防止冲突,如改为:9080
5)提供服务的端口,如22122
6)配置 Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建)
7)修改存储空间大小
reserved_storage_space 设置存储空间大小修改成5%;storage存储空间默认是20%,如果存储小于20%则存储失败,所以修改成5%
8)防火墙开启 22122 端口
firewall-cmd --zone=public --add-port=22122/tcp --permanent
firewall-cmd --reload
9)启动 tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
Tracker 服务启动成功后,会在 base_path 下创建 data、logs 两个目录。
10)查看 Tracker 的服务日志
tail -300f /usr/local/fastdfs/tracker/logs/trackerd.log
11)设置 Tracker 开机自启动
chkconfig fdfs_trackerd on
6、配置 Storage
1)创建目录存放 Storage 的 logs 和 data
mkdir -p /usr/local/fastdfs/storage/base
2)创建 Storage 文件存储路径
mkdir /usr/local/fastdfs/storage/store
3)修改 Storage 配置文件
vim /etc/fdfs/storage.conf
4)配置 Storage 数据和日志目录地址
5)配置 Storage 文件存储路径
6)配置 Tracker Server
tracker_server 列表,会主动连接 tracker_server,有多个 tracker server 时,每个 tracker server 写一行
7)访问端口默认80,修改防止冲突,如改为:8888
8)防火墙开启 23000 端口
firewall-cmd --zone=public --add-port=23000/tcp --permanent
firewall-cmd --reload
9)启动 Storage 服务
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
Storage 服务启动成功后,会在 base_path 下创建 data、logs 两个目录。
10)查看 Storage 的服务日志
tail -300f /usr/local/fastdfs/storage/base/logs/storaged.log
7、配置 Client
修改 Client 配置文件
vim /etc/fdfs/client.conf
8、功能测试
测试(/usr/local/fastdfs/upload/Linux.jpg为待上传的图片文件):
执行如下命令,上传图片文件 Linux.jpg:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/fastdfs/upload/Linux.jpg
可以看到 Linux.jpg 文件上传后的路径为:
group1/M00/00/01/wKgKrmUVM5yAWgWcAAFzTTjWOew389.jpg
在 /usr/local/fastdfs/storage/store/data/00/01/ 目录下找到了 wKgKrmUVM5yAWgWcAAFzTTjWOew389.jpg 文件。
至此,FastDFS安装验证完毕!
如果需要可以实现通过浏览器访问上传后的图片,用于前端展示,可以参考如下配置。
如果上述配置已经满足使用,可以通过代码实现文件的上传和下载,不需要前端显示,可以不进行如下配置!
三、安装 Nginx 及 Nginx插件
1、安装 Nginx 依赖
安装 Nginx 之前,要安装 Nginx 所需的依赖 lib:
yum install gcc-c++ (之前已经安装不需要了)
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
2、解压 fastdfs-nginx-module-1.22.tar.gz
使用官方提供的nginx插件(1.22版本以上)
cd /software/
tar -zxf fastdfs-nginx-module-1.22.tar.gz -C /usr/local/fastdfs/
3、修改配置
1)修改/usr/local/fastdfs/fastdfs-nginx-module-1.22/src/config,把其中的 local 去掉:
cd /usr/local/fastdfs/fastdfs-nginx-module-1.22/src
vim config
修改前:
修改后:
2)把 /usr/local/fastdfs/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf 文件复制到 /etc/fdfs/ 目录下
cd /usr/local/fastdfs/fastdfs-nginx-module-1.22/src
cp mod_fastdfs.conf /etc/fdfs/
3)编辑文件 /etc/fdfs/mod_fastdfs.conf
vim /etc/fdfs/mod_fastdfs.conf
修改如下三个配置项:
tracker_server=实际的IP地址:22122
url_have_group_name = true
store_path0=/usr/local/fastdfs/storage/store
4、安装 Nginx
1)将 nginx-1.22.1.tar.gz 上传到 /software/ 目录下
2)解压 Nginx 安装包 nginx-1.22.1.tar.gz
cd /software/
tar -zxf nginx-1.22.1.tar.gz -C /usr/local/fastdfs/
3)配置 Nginx 模块
进入 Nginx 的目录,执行如下命令:
cd /usr/local/fastdfs/nginx-1.22.1
./configure --add-module=/usr/local/fastdfs/fastdfs-nginx-module-1.22/src
4)编译、安装 Nginx
make && make install
安装完毕:
5)配置 Nginx
Nginx 默认安装到了 /usr/local/nginx/ 目录下,进入此目录下
cd /usr/local/nginx/conf/
vim nginx.conf
6)启动 Nginx 服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ps -ef | grep nginx
7)防火墙开启22123端口
firewall-cmd --zone=public --add-port=22123/tcp --permanent
firewall-cmd --reload
8)重启nginx
/usr/local/nginx/sbin/nginx -s reload
9)预览上传的图片
http://IP:22123/group1/M00/00/01/wKgKrmUVM5yAWgWcAAFzTTjWOew389.jpg
其中,IP 改为实际的 IP地址。
图片预览效果如下:
PS:
关于 FastDFS 服务启动、停止、重启 相关脚本,请参考博客:FastDFS 服务启动、停止、重启 相关脚本
关于 CentOS 7.9 FastDFS 设置开机自启动,请参考博客: CentOS 7.9 FastDFS 设置开机自启动