Linux系统:Centos7下搭建Nginx代理服务,FastDFS分布式文件系统
一、FastDFS简介
1、基础概念
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件上传、文件下载等,解决了大容量存储和负载均衡的问题。
2、环境概览
- 默认存在Gcc编译环境,Centos7虚拟机
- 安装LibFastCommon环境
- FastDFS中间件安装
- Nginx代理服务器安装
二、安装FastDFS依赖环境
LibFastCommon核心流程
下载->解压->编译->安装
#1、下载 wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz #2、解压 tar -zxvf V1.0.38.tar.gz cd libfastcommon-1.0.38/ #3、编译 ./make.sh #4、安装 ./make.sh install
三、安装FastDFS文件系统
核心流程:
下载->解压->编译->安装->创建相关路径->配置跟踪器->
配置数据存储->配置客户端->Nginx环境配置
1、基础安装步骤
#1、下载 wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz #2、解压 tar -zxvf V5.11.tar.gz #3、编译 cd fastdfs-5.11/ ./make.sh #4、安装 ./make.sh install
2、创建相关路径
相关路径用处后续说明。
mkdir -p /data/fastdfs/log mkdir -p /data/fastdfs/data mkdir -p /data/fastdfs/tracker mkdir -p /data/fastdfs/client
3、配置跟踪器
Tracker :跟踪器
(1)查看配置文件
注意这里目录的转换,这里给的是样例,具体的配置还要自己动手。
路径:cd /etc/fdfs/ 查看:ll ------------------------------ total 24 client.conf.sample storage.conf.sample storage_ids.conf.sample tracker.conf.sample ------------------------------
(2)配置tracker.conf文件
cp tracker.conf.sample tracker.conf vim tracker.conf # 关注如下几个配置 # 存储数据和日志文件的基本路径 base_path=/data/fastdfs/tracker # Http服务端口 http.server_port=80 # 默认提供服务端口 port=22122
(3)启动跟踪器
## 启动 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start ## 查看状态 netstat -apn|grep fdfs
4、配置数据存储
(1)查看配置文件
路径:cd /etc/fdfs/ 查看:ll storage.conf.sample
(2)配置storage.conf文件
cp storage.conf.sample storage.conf vim storage.conf # 关注如下几个配置 # storage存储data和log的跟路径 base_path=/data/fastdfs/data # 默认组名 group_name=group1 # 默认端口,相同组的storage端口号必须一致 port=23000 # 配置一个存储路径 store_path_count=1 store_path0=/data/fastdfs/data # 配置跟踪器IP和端口 tracker_server=192.168.72.130:22122
(3)启动存储服务
# 启动 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start # 查看进程 netstat -apn|grep fdfs # 查看启动日志 tail -f /data/fastdfs/data/logs/storaged.log # 日志展示:单台FastDFS安装成功 set tracker leader: 192.168.72.130:22122 # 查看Storage和Tracker是否在通信 [root@localhost fdfs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf Storage 1: id = 192.168.72.130 ip_addr = 192.168.72.130 (localhost.localdomain) ACTIVE
5、配置客户端测试
(1)查看配置文件
路径:cd /etc/fdfs 查看:ll total 40 client.conf.sample
(2)配置client.conf文件
cp client.conf.sample client.conf vim client.conf # 关注如下几个配置 # client数据和日志目录 base_path=/data/fastdfs/client # 配置跟踪器IP和端口 tracker_server=192.168.72.130:22122
(3)客户端测试
调用客户端文件上传命令,返回文件上传的相对路径和编号:
执行:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /data/img/img1.jpg 返回:group1/M00/00/00/IMG-PATH.jpg
这样FastDFS单台环境就安装好了,步骤有点繁杂,不过这就是生活。文件成功上传storage服务器,但是还无法查看下载。需要安装Nginx服务器用来支持Http方式访问文件。
四、安装Nginx代理服务
1、下载解压Nginx
# 下载nginx wget http://nginx.org/download/nginx-1.15.2.tar.gz # 解压nginx tar -zxvf nginx-1.15.2.tar.gz
2、下载解压Fast-Nginx
# 下载fastdfs-nginx wget https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip # 解压fastdfs-nginx mv 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip fast-nginx.zip unzip fast-nginx.zip
3、安装环境依赖
# pcre-devel 环境 yum install -y pcre pcre-devel # zlib-devel 环境 yum install -y zlib zlib-devel # openssl-devel 环境 yum install -y openssl openssl-devel
4、环境安装
./configure --add-module=/usr/local/mysoft/fastdfs-nginx-module/src make && make install
5、问题处理
版本问题导致,Fast-Nginx必须使用这个修复版本。
https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
6、查看安装结果
输出相关版本:/usr/local/nginx/sbin/nginx -V
五、测试图片访问
1、配置客户端
# 移动配置文件 1、pwd /usr/local/mysoft/fastdfs-nginx-module/src 2、cp mod_fastdfs.conf /etc/fdfs/ 3、pwd /etc/fdfs 4、vim mod_fastdfs.conf # 调整如下配置 # 链接超时 connect_timeout=20 # 配置跟踪器IP和端口 tracker_server=192.168.72.130:22122 # 路径包含group url_have_group_name = true # 必须和storage配置相同 store_path0=/data/fastdfs/data
2、完善FastDFS配置
cd /usr/local/mysoft/fastdfs-5.11/conf/ cp anti-steal.jpg http.conf mime.types /etc/fdfs/
3、配置Nginx
在Nginx的80服务端口下添加如下配置。注意这里的路径是Nginx安装自动生成的路径。
1、cd /usr/local/nginx/conf/ 2、vim nginx.conf server { listen 80; location ~/group([0-9])/M00 { root /data/fastdfs/data; ngx_fastdfs_module; } }
查看配置结果
/usr/local/nginx/sbin/nginx -V
输出相关配置信息,这样就安装完成了。
4、启动服务,测试
启动Nginx服务。
# 启动 /usr/local/nginx/sbin/nginx # 停止 /usr/local/nginx/sbin/nginx -s stop # 重启 /usr/local/nginx/sbin/nginx -s reload
5、访问上传图片
http://192.168.72.130 /group1/M00/00/00/wKhIgl0mmE-ATEXPAAQ2pIoAy98392.jpg
是的,这样就搭建完成了。