侧边栏壁纸
博主头像
张种恩博主等级

一个能运维的 JPG 搬运工

  • 累计撰写 710 篇文章
  • 累计创建 62 个标签
  • 累计收到 32 条评论

目 录CONTENT

文章目录
Go

beego笔记(5)之基本配置

张种恩
2021-08-12 / 0 评论 / 0 点赞 / 221 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-08-12,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

此系列我仅会记录一些 Beego 的基本使用以及常用语法,而不会对每个知识点详述,尽量做到以注释的形式让有 Web 开发经验的小伙伴一看就懂,也让自己在以后忘了某个语法或知识点的时候看到这里能迅速找回感觉~

beego 项目有专门的配置文件且需要放置于特定位置,看如下目录结构示例:

$ tree .
.
├── conf
│   ├── app.conf
│   └── mysql.conf
├── go.mod
├── main.go

如上,beego 程序的主配置文件需要放置于 main 函数所在文件同级名为 conf 的目录下,且名为 app.conf,为便于配置切分,在 app.conf 中也可以通过 include <filename> 的方式来引用其它子配置。

下面展示上面主要文件中的内容(各配置功用和知识点已注释在对应的代码行和配置之上):

  • main.go
package main

import (
	"fmt"
	"github.com/beego/beego/v2/server/web"
)

func main() {
	// 读取 conf/app.conf 中的自定义配置
	httpPort, _ := web.AppConfig.Int("HTTPPort")
	// 读取自定义的名为 mysql 节下的配置项,key 的格式为 `<section_name>::<key>`
	mysqlHost, _ := web.AppConfig.String("mysql::MySQLHost")
	mysqlPort, _ := web.AppConfig.Int("mysql::MySQLPort")
	fmt.Printf("webport: %d, mysql: %s:%d\n", httpPort, mysqlHost, mysqlPort)
	// 默认监听 8080 端口,可传入 <interface_ip>:<port> 修改监听地址和端口
	//web.Run("127.0.0.1:9999")
	// 也可在 conf/app.conf 中通过 HTTPAddr 和 HTTPPort 字段指定要监听的地址和端口
	web.Run()
}
  • conf/app.conf
; 应用名称
AppName = 配置测试
; 可指定 dev(开发模式,会将错误信息响应到页面) 和 prod(生产模式),默认为 prod
; 未找到 RUN_MODE 环境变量时将 prod 设为 RunMode 的值
; 为 dev 模式时会重新加载下面 [dev] 节下的配置,为 prod 模式时会重新加载下面 [prod] 节下的配置
RunMode = ${RUN_MODE||prod}
; 允许拷贝原始请求报文的 body 内容到 c.Ctx.Input.RequestBody
CopyRequestBody = true
; 文件上传缓存到内存的大小,默认为 1 << 26(64M)
MaxMemory = 104857600
; 监听地址
HTTPAddr = 127.0.0.1
; 监听端口
HTTPPort = 8888
; 默认到 beego 程序的请求对应的响应头中会有一个 Server 头保存着 beego 版本信息,可通过此配置覆盖
ServerName = cc
; 默认为 true,在未设置 TplName 值时将会通过控制器名称和 Action 名称选定一个模板渲染返回
AutoRender = true
; 指定模板文件存放到的文件夹
ViewsPath = views
; 指定静态资源文件夹
StaticDir = static

include "mysql.conf"

[dev]
HTTPPort = 8088

[prod]
HTTPPort = 8010
  • mysql.conf
; 自定义配置节
[mysql]
MySQLHost = 192.168.9.18
MySQLPort = 8082

如上我仅列出了常用的基本配置,更多更全更详细的配置请参考官方文档:

0

评论区