分布式文件系统FastDFS 分布式安装实战
- 安装环境:
fastdfs 6.04
nginx 1.16.1
两台centos 7.6 没有装过nginx
云服务器安全组开放端口:23000、22122、8888、80、
- 需要下载的资源官方下载地址:
- 自己下载的资源路径:
- https://apk-1257934361.cos.ap-guangzhou.myqcloud.com/FastDFS/fastdfs-6.04.tar.gz
- https://apk-1257934361.cos.ap-guangzhou.myqcloud.com/FastDFS/fastdfs-nginx-module-1.22.tar.gz
- https://apk-1257934361.cos.ap-guangzhou.myqcloud.com/FastDFS/libfastcommon-1.0.42.tar.gz
- https://apk-1257934361.cos.ap-guangzhou.myqcloud.com/FastDFS/nginx-1.16.1.tar.gz
配置FastDFS环境准备工作
- Centos7.x 两台 ,分别安装tracker(服务器26)与storage(服务器44)
- 首先两台都需要先安装基础环境
- 安装 gcc 和 libevent
yum install -y gcc gcc-c++
yum -y install libevent
- 进入安装包目录 ,解压 libfastcommon
tar -zxvf libfastcommon-1.0.42.tar.gz
-
进入libfastcommon文件夹,编译并且安装
./make.sh
./make.sh install
-
回到安装包目录,解压 fastdfs
tar -zxvf fastdfs-6.04.tar.gz
-
进入到fastdfs目录,编译并且安装
cd fastdfs-6.04/ ./make.sh
./make.sh install
-
进入 conf 目录 ,将该目录下所有资源 ,移动到 /etc/fdfs 目录下统一管理
cd conf/ cp * /etc/fdfs/ cd /etc/fdfs/
配置tracker服务(服务器26)
-
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
- tracker和storage都是同一个fastdfs的主程序的两个不同概念,配置不同的配置文件就可以设定为tracker或者storage
/etc/fdfs
下都是一些配置文件,配置tracker即可
- 进入 fdfs 目录下 打开 tracker 配置文件 修改基础路径 . 此为tracker的工作目录,保存数据以及日志
cd /etc/fdfs/ vim tracker.conf ------------------------------------ base_path=/usr/local/fastdfs/tracker :wq
-
创建刚刚指定的基础路径目录
mkdir /usr/local/fastdfs/tracker -p
-
启动 tracker 进程 ,指定刚刚配置的文件 。 然后查看进程是否启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf ps -ef |grep tracker
配置storage服务 (服务器44)
- 打开 storage.conf 配置文件
cd /etc/fdfs/ ll vim storage.conf
-
修改该storage.cond配置文件
# 修改组名 group_name=qiujian # 修改storage的工作空间 base_path=/usr/local/fastdfs/storage # 修改storage的存储空间 store_path0=/usr/local/fastdfs/storage # 修改tracker的地址和端口号,用于心跳 tracker_server=你的trackerIP地址:22122 ------------------------------------- :wq
-
保存后,创建刚刚配置的目录
mkdir /usr/local/fastdfs/storage -p
-
启动 storage 服务 (前提要先打开 tracker ,不然无法发送心跳)
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf ps -ef|grep storage
-
修改的client配置文件
vim /etc/fdfs/client.conf base_path=/usr/local/fastdfs/client tracker_server=你的trackerIP地址:22122 --------------------------------------- :wq
-
创建刚刚配置client 的路径
mkdir /usr/local/fastdfs/client
-
测试上传文件 ,首先移动到安装包目录下 下载一张图片 然后执行上传命令 。下图为成功上传图
cd 你的安装包目录 wget https://www.baidu.com/img/pc_906bd0e6235b67bd693484209bb70b29.gif /usr/bin/fdfs_test /etc/fdfs/client.conf upload /刚刚下载图片的目录/pc_906bd0e6235b67bd693484209bb70b29.gif
配置 nginx fastdfs 实现文件服务器
- fastdfs安装好以后是无法通过http访问的,这个时候就需要借助nginx了,所以需要安装fastdfs的第三方模块到nginx中,就能使用了。
- 注:nginx需要和storage在同一个节点。
- 安装Nginx 插件 解压nginx的fastdfs压缩包
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
-
进入到 nginx module 的 conf 目录 复制配置文件到 /etc/fdfs 进行统一管理
cd /qiujian/fastdfs-nginx-module-1.22/src/ cp mod_fastdfs.conf /etc/fdfs
-
在当前目录下,修改 config文件,主要是修改路径,把
local
删除,因为fastdfs安装的时候我们没有修改路径,原路径是/usr
:vim config ngx_module_incs="/usr/include" CORE_INCS="$CORE_INCS /usr/include" ----------------------------------- :wq
-
Nginx 普通安装,在这篇文章写的很清楚了
https://blog.csdn.net/publicv/article/details/103751068
-
这边安装Nginx 只讲述和普通安装Nginx 的区别之处
yum install gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel tar -zxvf nginx-1.16.1.tar.gz mkdir /var/temp/nginx -p
-
移动到 fastdfs 插件的 src 目录 ,pwd 复制 。然后在返回到 解压 nginx 目录下 。 配置nginx 目录
1:复制 刚刚安装nginx 插件的src 目录 2:然后在返回到 解压好的 nginx 目录下
./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=这边写的路径目录是刚刚安装nginx的fastdfs插件的 src目录
-
编译 安装
make make install
-
修改 mod_fastdfs.conf 配置文件:
cd /etc/fdfs/ vim mod_fastdfs.conf base_path=/usr/local/fastdfs/tmp tracker_server=你的trackerIP地址:22122 group_name=qiujian url_have_group_name = true store0_path=/usr/local/fastdfs/storage
-
将刚刚指定的 tmp 目录进行创建
mkdir /usr/local/fastdfs/tmp
-
修改nginx.conf,添加如下虚拟主机: 这边是修改好的 ,整个nginx 配置文件 。新增了 8888 配置映射我们的图片
/usr/local/nginx/conf vim nginx.conf
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 8888; server_name localhost; location /qiujian/M00 { ngx_fastdfs_module; } } }
-
启动nginx ,然后移动到我们图片保存的目录下 。找一张图片进行查看 。 成功图如下
/usr/local/nginx/sbin/nginx cd /usr/local/fastdfs/storage/data/00/00 ll
访问地址:
http://nginx下IP:8888/qiujian/M00/00/00/在00下的图片名