beego框架使用fastDFS和nginx

本文介绍beego框架的特点及应用,并探讨fastDFS作为分布式文件系统的优缺点。此外,还详细介绍了如何利用nginx解决fastDFS文件获取的问题,以及如何在beego框架中集成fastDFS。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 什么是beego框架

    • 简介:

      • beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用。

      • beego有八大, 是一个高度解耦的框架, 用户即使不使用 beego 的 HTTP 逻辑,也依旧可以使用这些独立模块。

    • 用beego框架的优势:

      • Beego框架是go语言开发的web框架,gopher上手快。

      • beego是中国人开发的,开发文档比较详细。

      • (靠谱)。现在公司里面用beego的也比较多,比如今日头条,百度云盘,腾讯,阿里等。

    • beego框架的诟病

      • 逻辑和业务代码集中在控制器中,大佬们觉得控制器过于臃肿。

beego框架执行流程图

 

  • 什么是fastDFS

    • fastDFS概述

      • FastDFS 是用 c 语言编写的一款开源的分布式小文件文件系统(一般用来存储图片)。

    • 优点:

      • 冗余备份 根据文件内容做运算,得到索引值,重复就直接索引(一个文件,只存一份)

      • 横向扩容 只需要改fastDFS配置(服务器空间不足,扩容)

      • 防止文件重名

      • 负载均衡

    • 缺点

      • fastDFS获取文件默认是下载,而web服务并不是要下载文件,而是加载到网页

      • FastDFS的HTTP服务较为简单,无法提供负载均衡等高性能的服务

      • 适合fastdfs的文件大小: 4KB < file_size <500MB

    • 注意事项:

      • fastDFS的冗余备份、横向扩容、防止文件重名都有各自的组件,只有安装了对应的组件,才能起到对应的作用,例如:libfastcommon-master.zip  就是防重名的组件

  • 什么是nginx

    • 概述:

    • 作用:

      • 服务器负载均衡

      • 反向代理

      • web服务器

  • fastDFS为什么要用nginx

    • fastDFS获取文件默认是下载,而web服务并不是要下载文件

    • 客户端访问到文件id的时候,需要nginx反向代理,才能获取到文件的信息

  • fastDFS如何配置nginx

    • sudo cp fastdfs-nginx-module-master解压后的目录中src下mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf

    • 修改配置文件    sudo vim /etc/fdfs/mod_fastdfs.conf

      修改内容:

      connect_timeout=10

      tracker_server=自己ubuntu虚拟机的ip地址:22122

      url_have_group_name=true

      store_path0=/home/itcast/fastdfs/storage

    • sudo cp 解压缩的fastdfs-master目录中的conf中的http.conf /etc/fdfs/http.conf

    • sudo cp 解压缩的fastdfs-master目录中conf的mime.types /etc/fdfs/mime.types

    • 修改nginx配置文件: sudo vim /usr/local/nginx/conf/nginx.conf

      在http部分中添加配置信息如下:

      server {

      listen 8888;

      server_name localhost;

      location ~/group[0-9]/ {

      ngx_fastdfs_module;

      }

      error_page 500 502 503 504 /50x.html;

      location = /50x.html {

      root html;

      }

      }

      • 通过以上的配置,将fastDFS绑定在nginx  web服务器上,解决了fastDFS获取文件的问题

 

 

 

beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架beego 的架构beego 的整体设计架构如下所示:       beego 是基于八大独立的模块构建的,是一个高度解耦的框架。当初设计 beego 的时候就是考虑功能模块化,用户即使不使用 beego 的 HTTP 逻辑,也依旧可以使用这些独立模块,例如:你可以使用 cache 模块来做你的缓存逻辑;使用日志模块来记录你的操作信息;使用 config 模块来解析你各种格式的文件。所以 beego 不仅可以用于 HTTP 类的应用开发,在你的 socket 游戏开发中也是很有用的模块,这也是 beego 为什么受欢迎的一个原因。大家如果玩过乐高的话,应该知道很多高级的东西都是一块一块的积木搭建出来的,而设计 beego 的时候,这些模块就是积木,高级机器人就是 beego。至于这些模块的功能以及如何使用会在后面的文档会逐一介绍。beego 的执行逻辑      既然 beego 是基于这些模块构建的,那么他的执行逻辑是怎么样的呢?beego 是一个典型的 MVC 架构,他的执行逻辑如下图所示:beego 项目结构一般的 beego 项目的目录如下所示:从上面的目录结构我们可以看出来 M(models 目录)、V(views 目录) C(controllers 目录)的结构, main.go 是入口文件。你可以通过 bee 工具来新建项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值