小白快速完成FastDFS部署(一)单节点部署

让FastDFS部署 so easy

FastDFS(Fast Distributed File System)作为国内分布式文件系统,开源、轻量,对上传、下载支持比较好,国内用户群还是比较受众的,但是在部署安装过程中可能需要花费很多精力,本文主要是让小白能顺利完成单节点的安装、部署。

单节点部署

部署前有必要先了解一下FastDFS的组成结构。
小白快速完成FastDFS部署(一)单节点部署_第1张图片

Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。
Storage server作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storage server没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将storage称为存储服务器。

组件获取

名称 版本
libfastcommon V1.0.43
fastdfs V5.11
fastdfs-nginx-module V1.20
nginx V1.17.9

其中,fastdfs和fastdfs-nginx-module需要版本进行对应,如果没有对应上会出现编译错误。
下载文件,拷贝至/usr/local目录下

安装gcc

后面的安装都是基于编译安装的,因此gcc语言编译器成为必须,如果没有gcc,make命令是找不到的。一般情况下默认自带
yum -y install gcc-c++

安装libfastcommon

cd /usr/local/

tar zxvf libfastcommon-1.0.43.tar.gz

cd /usr/local/libfastcommon-1.0.43

./make.sh

./make.sh install
小白快速完成FastDFS部署(一)单节点部署_第2张图片

安装FastDFS

tar -zxvf fastdfs-5.11.tar.gz

mv fastdfs-5.11 fastdfs

cd fastdfs

vim make.sh修改TARGET_CONF_PATH=/home/conf/fdfs
小白快速完成FastDFS部署(一)单节点部署_第3张图片
./make.sh

./make.sh install
小白快速完成FastDFS部署(一)单节点部署_第4张图片

修改配置

cd /home/conf/fdfs/

mv client.conf.sample client.conf

mv storage.conf.sample storage.conf

mv storage_ids.conf.sample storage_ids.conf

mv tracker.conf.sample tracker.conf

mkdir -p /home/data/fdfs

mkdir -p /home/data/fdfs/storage

mkdir -p /home/data/fdfs/storage/storage_info

mkdir -p /home/data/fdfs/storage/storage_data

mkdir -p /home/data/fdfs/storage/storage_data/data

mkdir -p /home/data/fdfs/client

修改tracker.conf中参数

参数 位置 默认值 修改值 备注
port 11行 22122 22122
base_path 22行 /home/yuqing/fastdfs /home/data/fdfs/trackerData
store_group 53行 group2 group2
http.server_port 260行 8080 7090 建议修改,防止端口冲突

修改storage.conf中参数

参数 位置 默认值 修改值 备注
group_name 11行 group1 group1
port 24行 23000 23000
base_path 41行 /home/yuqing/fastdfs /home/data/fdfs/storage/storage_info
store_path_count 105行 1 1
store_path0 109行 /home/yuqing/fastdfs /home/data/fdfs/storage/storage_data
tracker_server 118行 192.168.209.121:22122 192.168.3.136:22122
http.server_port 284行 8888 7091 建议修改,防止端口冲突

修改client.conf中参数

参数 位置 默认值 修改值 备注
base_path 10行 /home/yuqing/fastdfs /home/data/fdfs/client
tracker_server 14行 192.168.0.197:22122 192.168.3.136:22122
http.tracker_server_port 58行 80 7090 和tracker端口对应

检查防火墙

可任选一种方式:

  1. 22122、7090、7091、23000端口防火墙放行
  2. 禁用防火墙

测试验证

启动Tracker
/usr/local/fastdfs/tracker/fdfs_trackerd /home/conf/fdfs/tracker.conf start

关闭Tracker
./stop.sh ./tracker/fdfs_trackerd

启动 Storage
/usr/local/fastdfs/storage/fdfs_storaged /home/conf/fdfs/storage.conf

关闭Tracker
./stop.sh ./storage/fdfs_storaged

验证服务是否开启
ps -ef|grep fastdfs
在这里插入图片描述

tail -f /home/data/fdfs/trackerData/logs/trackerd.log

tail -f /home/data/fdfs/storage/storage_info/logs/storaged.log

客户端测试上传

cd /usr/local/fastdfs/client/

上传图片测试./fdfs_test /home/conf/fdfs/client.conf upload /home/timg.jpg

上传完之后,可在/home/data/fdfs/storage/storage_data/data里看到上传文件

整合nginx和FastDFS

tar -zxvf fastdfs-nginx-module-1.20.tar.gz

cp -rf /usr/local/fastdfs/conf/mime.types /home/conf/fdfs/

cp -rf /usr/local/fastdfs/conf/http.conf /home/conf/fdfs/

cp -rf /usr/local/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /home/conf/fdfs/

修改config参数:

cd /usr/local/fastdfs-nginx-module-1.20/src/

vim config

参数 位置 默认值 修改值 备注
ngx_module_incs 6行 /usr/local/include /usr/include/fastdfs /usr/include/fastcommon
CORE_INCS 15行 /usr/local/include /usr/include/fastdfs /usr/include/fastcommon
CFLAGS 10行 17行 /etc/fdfs/mod_fastdfs.conf /home/conf/fdfs/mod_fastdfs.conf

修改mod_fastdfs.conf参数:

cd /home/conf/fdfs

vim mod_fastdfs.conf

参数 位置 默认值 修改值 备注
base_path 10行 /tmp /home/data/fdfs/storage/storage_data
tracker_server 40行 tracker:22122 192.168.3.136:22122
store_path0 62行 /home/yuqing/fastdfs /home/data/fdfs/storage/storage_data
url_have_group_name 53行 false true

安装nginx

编译nginx

tar -zxvf nginx-1.17.9.tar.gz

cd nginx-1.17.9

./configure --prefic=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-1.20/src

make && make install

配置nginx

启动、验证、测试nginx

cd /usr/local/nginx/sbin

./nginx

ps -ef|grep nginx

配置nginx.conf

	server {
        listen       9999;
        
        server_name  localhost;
        
        location ~/group([0-9])/{
        	root /home/data/fdfs/storage/storage_data/data
            ngx_fastdfs_module;
        }
   }

http://192.168.3.136:7777/group1/M00/00/00/文件名称

可验证是否可以访问文件。

你可能感兴趣的:(组件)