版权声明:本文为GitChat作者的原创文章,未经 GitChat 同意不得转载。 https://blog.csdn.net/GitChat/article/details/79479148

wx_fmt=gif&wxfrom=5&wx_lazy=1" style="visibility:visible !important;" alt="640?wx_fmt=gif&wxfrom=5&wx_lazy=1" />

本文来自作者 only you 在 GitChat 上分享 「FastDFS + Nginx(单点部署)应用实例」

编辑 | 哈比

现在流行框架设计简述

在互联网大行其道的今天。各种分布式系统已经司空见惯。

搜索引擎、电商站点、微博、微信、O2O 平台,凡是涉及到大规模用户、高并发訪问的,无一不是分布式。

关于分布式系统,并没有一个标准答案,说某某架构一定是最好的。

不同的业务形态所面对的挑战不一样,使用的架构设计也不一样,通常都须要详细业务详细分析。

水平扩展和垂直拆分是分布式架构的两种思路,但并非一个二选一的问题,很多其它的是兼并合用。以下介绍一个实际的场景。这也是很多互联网的公司架构思路。

文件server的诞生和应用背景

现现在非常多的系统中,须要存储过多的图片、视频等资料,文件存储、文件同步、文件訪问(文件上传、文件下载)等这些问题就出来了。

怎么攻克了大容量存储和负载均衡的问题?对以文件为载体的在线服务,如相冊站点、视频站点等,文件server就起到了支撑的作用。

FastDFS 文件server的诞生背景和应用意义

FastDFS 是一个开源的轻量级分布式文件系统。

在一个分享的磁盘文件系统中,全部节点对数据存储区块都有同样的訪问权,在这种系统中。訪问权限就必须由客户端程序来控制。

分布式文件系统可能包括的功能有透通的数据复制与容错。

分布式文件系统是被设计用在局域网。而分布式数据存储,则是泛指为应用分布式运算技术的文件和数据库等提供数据存储服务的系统。

接下来。我们就搭建 FastDFS 文件server,体验它的强大之处。

FastDFS 文件server搭建

搭建好开发环境介绍

本人測试环境为 Centos7 系统,一台 192.168.229.128 作为 tracker,一台 192.168.229.129 作为 storage。

安装步骤

安装依赖环境

安装命令例如以下。


yum install make cmake gcc gcc-c++

安装公共安装包 libfastcommon

网上下载该包放到安装文件夹下,我的安装文件夹是 /usr/local/software,大家依据自己的习惯自定义。

解压该安装包到 /usr/local/fast 文件夹下。

解压命令例如以下。


unzip  libfastcommon-mastar.zip –d  /usr/local/fast

进入解压文件夹下,例如以下图所看到的。

进行编译和安装

编译命令例如以下。


./make.sh

安装命令例如以下。


./make.sh install

运行过程。例如以下图所看到的。

进行软件创建

FastDFS 主程序设置的文件夹为 /usr/local/lib/,所以我们须要创建 /usr/lib64/ 下的一些核心运行程序的软连接文件。

创建我们自己的 lib 文件夹,命令例如以下。


mkdir /usr/local/lib/

创建以下的软连接。命令分别为:


ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so


ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so


ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so


ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

运行界面例如以下图所看到的。

https://mmbiz.qpic.cn/mmbiz_png/0vU1ia3htaaOKBMEolH5b8g5Rv8iagibJlibyS2CduJt456AkfIXJnsOZQluW01oicUXspBzawYKa8teP99pd5J2Ofw/640?wx_fmt=png" alt="640?wx_fmt=png" />

安装 FastDFS 主程序

首先须要自己到网上下载 FastDFS 安装包。

在这里,我用的是 5.05 版本号的。

把我们从网上下载下来的 FastDFS_v5.05.tar.gz 进行解压到 /usr/local/fast/ 下。使用到的命令例如以下。


cd /usr/local/software
tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/

进入解压文件夹进行编译安装

进入解压文件夹,命令例如以下。


cd /usr/local/fast/FastDFS/

编译命令例如以下。


./make.sh

安装命令例如以下


./make.sh install

运行界面例如以下图所看到的。

https://mmbiz.qpic.cn/mmbiz_png/0vU1ia3htaaOKBMEolH5b8g5Rv8iagibJlibjWDCfzyF0H3J8nicvpTUvVSbA8biadHfOqXIG9UFvnq8R3R8ibXEEB9VA/640?wx_fmt=png" alt="640?wx_fmt=png" />

中间没有不论什么的 error 字样,说明成功安装。

相关脚本说明

安装完毕后。服务脚本在以下文件夹中。

/etc/init.d/fdfs_storaged

/etc/init.d/fdfs_trackerd

配置文件在以下文件夹中。

/etc/fdfs/client.conf.sample

/etc/fdfs/storage.conf.sample

/etc/fdfs/tracker.conf.sample

以下这张图显示了服务脚本的文件夹和文件列表。

wx_fmt=png" alt="640?wx_fmt=png" />

下图显示了在配置文件文件夹下备份的默认配置文件。

由于 FastDFS 服务脚本设置的 bin 文件夹为 /usr/local/bin/,可是实际我们安装在了 /usr/bin/ 以下。所以我们须要改动 FastDFS 配置文件里的路径。也就是须要改动两个配置文件。命令例如以下。


vim /etc/init.d/fdfs_storaged
%s+/usr/local/bin+/usr/bin // 进行全局替换命令


vim /etc/init.d/fdfs_trackerd
%s+/usr/local/bin+/usr/bin// 进行全局替换命令

配置跟踪器

首先我们进入 /etc/fdfs/ 文件夹下。把 tracker.conf.sample 文件 Cope 一份。

去改动 tracker.conf 文件。改文件作为 tracker 启动配置文件。

命令例如以下。


vim /etc/fdfs/tracker.conf

改动 tracker 的 basepath 文件夹之后。别忘了创建改文件夹。命令例如以下。


mkdir -p /fastdfs/tracker

到这里,我们的跟踪器就能够启动了。见下图。

当然在这个之前要关闭防火墙操作。

wx_fmt=png" alt="640?

wx_fmt=png" />

有二个确定的字样,说明了启动成功。

扫描下方二维码

阅读完整原文

并与作者交流

https://mmbiz.qpic.cn/mmbiz_png/0vU1ia3htaaM7ktDqefFrwHic9GiccCzzo25iaCeC0LOkmv7dsnsFMllJWvSEMDZavutDG27HCsAmsgiadHDJvRrmDA/640?wx_fmt=png" alt="640?wx_fmt=png" />

简单的 FastDFS + Nginx 应用实例的更多相关文章

  1. linux上安装fastdfs+nginx+ngin-module实践并解决多个异常篇

    为什么选择Nginx Nginx 是一个很牛的高性能Web和反向代理服务器, 它具有有很多非常优越的特性: 在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主 ...

  2. fastdfs+nginx+image_filter安装与生成缩略图

    fastdfs简介 类似google FS的一个轻量级分布式文件系统,纯C实现,支持linux.FreeBSD等UNIX系统: 只能通过API访问,不支持POXIS: 文件不分块存储,上传的文件和OS ...

  3. 二、Nginx配置实例

    Nginx配置实例 一.反向代理 实例一 1.实现效果 打开浏览器,在浏览器地址栏输入地址 www.123.com ,跳转到linux系统tomcat主页面中. 2.准备工作 在linux系统中安装t ...

  4. Nginx 笔记(三)nginx 配置实例 - 反向代理、负载均衡、动静分离

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.反向代理 反向代理准备工作: (1)在 liunx 系统安装 tomcat,使用默认端口 8080 ...

  5. 在虚拟机中配置FastDFS+Nginx模块

    先上部署图 提示一下, ip 192.168.72.138 上面部署了两个group, 分别为 group1和g2. 另外, 同组之内的 port 要保持一致. 一.安装准备 1. #每台机器都添加两 ...

  6. Fiddler-009-AutoResponder 简单的 MOCK SERVER 应用实例

    在我们日常的测试中经常需要测试特定的响应对应的客户端展示样式是否正确无误,实现测试方法一般有如下三种: 创建新的测试数据(工作量较大) 修改已有测试数据(例如修改对应的状态码,若是最终需要测试的按钮状 ...

  7. FastDFS + Nginx代理方式访问

    FastDFS + Nginx代理方式访问 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.在storage上安装nginx 1>.下载nginx软件(http://ngi ...

  8. FastDFS+Nginx+fastdfs-nginx-module集群搭建

    一.实验环境说明 操作系统: Centos 6.6 x64 FastDFS 相关版本: fastdfs-5.05 fastdfs-nginx-module-v1.16 libfastcommon-v1 ...

  9. 使用Python编写简单的端口扫描器的实例分享【转】

    转自 使用Python编写简单的端口扫描器的实例分享_python_脚本之家 http://www.jb51.net/article/76630.htm -*- coding:utf8 -*- #!/ ...

随机推荐

  1. 解决IDEA Springboot项目sql文件打开提示No data sources are configured to run this SQL and provide advanced的问题

    Idea2018的Springboot项目,如果里面有.sql文件,打开后,会提示"No data sources are configured to run this SQL and pr ...

  2. 全局解释器锁 GIL

    1.什么是GIL? GIL本质上是互斥锁,可以将并发运行变为串行,以此来控制同一时间内共享数据只能被一个任务修改,保证时间安全 2.GIL应用场景 使用原因:Cpython解释器自带垃圾回收机制不是线 ...

  3. Cheapest Palindrome [POJ3280] [区间DP] [经典]

    一句话题意:每个字母添加和删除都相应代价(可以任意位置 增加/删除),求把原串变成回文串的最小代价 Description 保持对所有奶牛的跟踪是一项棘手的任务,因此农场主约翰已经安装了一个系统来实现 ...

  4. js权威指南笔记

    //如setTimeout的delay参数为0毫秒,那么指定的函数不会立即执行.只会把它放到队列中,等到前面处于等待状态的事件处理 //程序全部执行完成后,再调用它. function invoke( ...

  5. Mac/Ubuntu下的数据建模工具PDMan,替代PowerDesigner

    PowerDesigner我使用过用Wine在Linux和Mac下用,但总有些缺陷,用Navicat却发觉没有Linux版本的: 一般关心的问题主要有如下: 1.数据库的关系设计图. 2.导出数据库脚 ...

  6. Introducing XAML Standard and .NET Standard 2.0

    XAML Standard We are pleased to announce XAML Standard, which is a standards-based effort to unify X ...

  7. Using async-await on .net 4

    I'm currently starting to create an application that would profit a lot from C# 5's async-await feat ...

  8. nvidia-docker2配置与NVIDIA驱动安装

    要运行高版本的GPU版TensorFlow,需要更新宿主机的显卡驱动(本文以NVIDIA390为例) 一.更新驱动 禁用nouveau驱动: 添加/etc/modprobe.d/blacklist.c ...

  9. 【性能提升神器】Covering Indexes

    可能有小伙伴会问,Covering Indexes到底是什么神器呢?它又是如何来提升性能的呢?接下来我会用最通俗易懂的语言来进行介绍,毕竟不是每个程序猿都要像DBA那样深刻理解数据库,知道如何用以及如 ...

  10. bootstrap-3-上传图片-列表显示

    效果 导入的js和css <!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href=" ...