文章目录

  • 环境准备
    • 使用的系统软件
    • 磁盘目录
    • 安装libfastcommon
    • 安装FastDFS
    • 安装fastdfs-nginx-module
    • 安装nginx
  • 单机部署
    • tracker配置
    • storage配置
    • client测试
    • 配置nginx访问
  • 分布式部署
    • tracker配置
    • storage配置
    • client测试
    • 配置nginx访问
  • 启动
    • 防火墙
    • tracker
    • storage
    • nginx
    • 检测集群
  • 说明
    • 配置文件
    • 可能遇到的问题

环境准备

使用的系统软件

名称 说明
centos 7.x
libfastcommon FastDFS分离出的一些公用函数包
FastDFS FastDFS本体
fastdfs-nginx-module FastDFS和nginx的关联模块
nginx nginx1.15.4
## 编译环境
CentOS
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

Debian

apt-get -y install git gcc g++ make automake autoconf libtool pcre2-utils libpcre2-dev zlib1g zlib1g-dev openssl libssh-dev wget vim

磁盘目录

说明 位置
所有安装包 /usr/local/src
数据存储位置 /home/dfs/
#这里我为了方便把日志什么的都放到了dfs
mkdir /home/dfs #创建数据存储目录
cd /usr/local/src #切换到安装目录准备下载安装包

安装libfastcommon

git clone https://github.com/happyfish100/libfastcommon.git --depth 1
cd libfastcommon/
./make.sh && ./make.sh install #编译安装

安装FastDFS

cd ../ #返回上一级目录
git clone https://github.com/happyfish100/fastdfs.git --depth 1
cd fastdfs/
./make.sh && ./make.sh install #编译安装
#配置文件准备
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用
cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #供nginx访问使用
cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #供nginx访问使用

安装fastdfs-nginx-module

cd ../ #返回上一级目录
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs

安装nginx

wget http://nginx.org/download/nginx-1.15.4.tar.gz #下载nginx压缩包
tar -zxvf nginx-1.15.4.tar.gz #解压
cd nginx-1.15.4/
#添加fastdfs-nginx-module模块
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/
make && make install #编译安装

单机部署

tracker配置

#服务器ip为 192.168.52.1
#我建议用ftp下载下来这些文件 本地修改
vim /etc/fdfs/tracker.conf
#需要修改的内容如下
port=22122  # tracker服务器端口(默认22122,一般不修改)
base_path=/home/dfs  # 存储日志和数据的根目录

storage配置

vim /etc/fdfs/storage.conf
#需要修改的内容如下
port=23000  # storage服务端口(默认23000,一般不修改)
base_path=/home/dfs  # 数据和日志文件存储根目录
store_path0=/home/dfs  # 第一个存储目录
tracker_server=192.168.52.1:22122  # tracker服务器IP和端口
http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)

client测试

vim /etc/fdfs/client.conf
#需要修改的内容如下
base_path=/home/dfs
tracker_server=192.168.52.1:22122    #tracker服务器IP和端口
#保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz

配置nginx访问

vim /etc/fdfs/mod_fastdfs.conf
#需要修改的内容如下
tracker_server=192.168.52.1:22122  #tracker服务器IP和端口
url_have_group_name=true
store_path0=/home/dfs
#配置nginx.config
vim /usr/local/nginx/conf/nginx.conf
#添加如下配置
server {listen       8888;    ## 该端口为storage.conf中的http.server_port相同server_name  localhost;location ~/group[0-9]/ {ngx_fastdfs_module;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}
#测试下载,用外部浏览器访问刚才已传过的nginx安装包,引用返回的ID
http://192.168.52.1:8888/group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz
#弹出下载单机部署全部跑通

分布式部署

tracker配置

#服务器ip为 192.168.52.2,192.168.52.3,192.168.52.4
#我建议用ftp下载下来这些文件 本地修改
vim /etc/fdfs/tracker.conf
#需要修改的内容如下
port=22122  # tracker服务器端口(默认22122,一般不修改)
base_path=/home/dfs  # 存储日志和数据的根目录

storage配置

vim /etc/fdfs/storage.conf
#需要修改的内容如下
port=23000  # storage服务端口(默认23000,一般不修改)
base_path=/home/dfs  # 数据和日志文件存储根目录
store_path0=/home/dfs  # 第一个存储目录
tracker_server=192.168.52.2:22122  # 服务器1
tracker_server=192.168.52.3:22122  # 服务器2
tracker_server=192.168.52.4:22122  # 服务器3
http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)

client测试

vim /etc/fdfs/client.conf
#需要修改的内容如下
base_path=/home/moe/dfs
tracker_server=192.168.52.2:22122  # 服务器1
tracker_server=192.168.52.3:22122  # 服务器2
tracker_server=192.168.52.4:22122  # 服务器3
#保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz

配置nginx访问

vim /etc/fdfs/mod_fastdfs.conf
#需要修改的内容如下
tracker_server=192.168.52.2:22122  # 服务器1
tracker_server=192.168.52.3:22122  # 服务器2
tracker_server=192.168.52.4:22122  # 服务器3
url_have_group_name=true
store_path0=/home/dfs
#配置nginx.config
vim /usr/local/nginx/conf/nginx.conf
#添加如下配置
server {listen       8888;    ## 该端口为storage.conf中的http.server_port相同server_name  localhost;location ~/group[0-9]/ {ngx_fastdfs_module;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}

启动

防火墙

#不关闭防火墙的话无法使用
systemctl stop firewalld.service #关闭
systemctl restart firewalld.service #重启

tracker

/etc/init.d/fdfs_trackerd start #启动tracker服务
/etc/init.d/fdfs_trackerd restart #重启动tracker服务
/etc/init.d/fdfs_trackerd stop #停止tracker服务
chkconfig fdfs_trackerd on #自启动tracker服务

storage

/etc/init.d/fdfs_storaged start #启动storage服务
/etc/init.d/fdfs_storaged restart #重动storage服务
/etc/init.d/fdfs_storaged stop #停止动storage服务
chkconfig fdfs_storaged on #自启动storage服务

nginx

/usr/local/nginx/sbin/nginx #启动nginx
/usr/local/nginx/sbin/nginx -s reload #重启nginx
/usr/local/nginx/sbin/nginx -s stop #停止nginx

检测集群

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
# 会显示会有几台服务器 有3台就会 显示 Storage 1-Storage 3的详细信息

说明

配置文件

tracker_server #有几台服务器写几个
group_name #地址的名称的命名
bind_addr #服务器ip绑定
store_path_count #store_path(数字)有几个写几个
store_path(数字) #设置几个储存地址写几个 从0开始

可能遇到的问题

如果不是root 用户 你必须在除了cd的命令之外 全部加sudo
如果不是root 用户 编译和安装分开进行 先编译再安装
如果上传成功 但是nginx报错404 先检查mod_fastdfs.conf文件中的store_path0是否一致
如果nginx无法访问 先检查防火墙 和 mod_fastdfs.conf文件tracker_server是否一致
如果不是在/usr/local/src文件夹下安装 可能会编译出错
如果 unknown directive "ngx_fastdfs_module" in /usr/local/nginx/conf/nginx.conf:151,可能是nginx一直是启动的,必须要重启nginx才可以,`nginx -s reload`无效。

教程是在上一位huayanYu(小锅盖)的基础上添加了一些东西,本质上还是huayanYu(小锅盖)写的教程

FastDFS文件服务器安装相关推荐

  1. Centos7 搭建FastDFS文件管理系统及简单的迁移方法

    1.简介 FastDFS 是一个开源的高性能分布式文件系统(DFS). 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡.主要解决了海量数据存储问题,特别适合以中小文件(建议范围: ...

  2. FastDFS 文件上传工具类

    FastDFS文件上传工具类 import org.csource.common.NameValuePair;import org.csource.fastdfs.ClientGlobal;impor ...

  3. fastdfs搭建_记一次生产环境FastDFS文件系统安装部署过程

    概述 因为前面在做FastDFS文件系统安装部署介绍时我们已经测试将文件上传成功了,但我们无法下载.因此安装Nginx作为服务器以支持Http方式访问文件.同时,后面安装FastDFS的Nginx模块 ...

  4. FastDFS文件同步机制分析

    FastDFS文件同步机制 一.tracker server目录及文件结构 二.storage server目录及文件结构 三.FastDFS文件同步 3.1.同步日志所在目录 3.2.binlog格 ...

  5. FastDFS文件存储(文件存储,图片存储,视频存储)

    1.常见图片存储方案 图片存储方案 优点 缺点 案例 1 直接将图片保存到服务的硬盘 开发便捷,成本低 扩容困难 SpringMVC中的文件上传:MultiPartFile 2 使用开源的分布式文件存 ...

  6. 2008r2文件服务器高可用,Windows Server 2012 R2 文件服务器安装与配置07 之文件服务器高可用配置DFS...

    今天和大家分享的是关于文件服务器高可用配置,简单一点说就是当一台机宕机的时候,另一台文件服务器可以继续为你提供文件服务,以保证业务的正常使用. 分布式文件系统是作为文件服务角色的一种角色服务而实现的. ...

  7. fastdfs文件上传 read timeout_121FastDFS实现文件上传下载

    1. 掌握FastDFS定义 2. 掌握FastDFS的配置 3. 掌握FastDFS 术语 4. 掌握FastDFS上传 下载 删除 5. 掌握FastDFS在java端的配置 6. 掌握FastD ...

  8. fastdfs文件上传 read timeout_一文看懂centos7系统部署FastDFS 分布式文件系统

    概述 续前面对fastdfs部署方面的内容,今天主要介绍一下nginx的部署方面,下面一起来看看吧~ IP规划 一.安装Nginx(148) Nginx需与Storage安装在一台机上. 1.编译安装 ...

  9. SpringBoot(FastDFS文件上传)

    FastDFS 相关概念 FastDFS 服务端有三个⻆色:跟踪服务器(Tracker Server).存储服务器(Storage Server)和客户端(Client). Tracker Serve ...

最新文章

  1. 从未在一起更让人遗憾_我们从未在一起和我们最终没在一起,哪一个更让人难过?...
  2. react-native开发经验
  3. 一个关于fixed抖动的小bug
  4. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]41所有的侧信道分析都是能量分析吗
  5. 解决苹果os 10.9 和 parallels desktop 8 兼容问题
  6. 三次iframe框架切换
  7. oracle报错对象不存在
  8. 火星上网不是梦,国际空间站开测星际互联网DTN服务
  9. wps加载项的官方demo下载运行方式
  10. 名帖191 米芾 行书《苕溪诗卷》
  11. Android 使用第三方SDK 一般流程
  12. 2019.1.21【NOIP提高组】模拟B组 JZOJ 4208 线段树什么的最讨厌了
  13. centos7解压rar包
  14. excel计算标准分
  15. hbase协处理器Coprocessor(简介)
  16. Fiddler抓包Android手机https、http教程
  17. laya游戏开发之贪吃蛇大作战(二)—— 贪吃蛇客户端
  18. 7-5 判断输入的字符是哪种类型
  19. 关于在KEIL下使用j-link读不到芯片的问题
  20. 博学谷前端 CSS字体样式属性

热门文章

  1. service 层 拼接的html 代码如何直接返回_字符串拼接,会走StringBuilder 吗?
  2. JAVA入门级教学之(方法递归)
  3. JAVA入门级教学之(关系运算符)
  4. 安装应用需要打开未知来源权限_打开安卓这个开关 不让流氓软件肆意妄为
  5. 前端做后台管理系统有前途吗_关于后台管理系统前端项目的思考
  6. linux数据泵导入command not found_MySQL:数据库结构优化、高可用架构设计、数据库索引优化...
  7. python实现数据恢复软件_pyinstaller还原python代码过程图解
  8. python爬虫分析_Python爬虫解析网页的4种方式
  9. python中span函数,如何用python中BeautifulSoup提取无类名的span内文本
  10. c#endread怎么打印出来_NetworkStream.EndRead(IAsyncResult) 方法 (System.Net.Sockets) | Microsoft Docs...