基于Beego 1.12.3的简单website实现

本文详细介绍了如何使用Beego框架开发Web应用,包括安装步骤、创建新应用、配置监听端口、静态资源管理、路由设置、控制器与视图设计,以及SSL和日志设置等内容。
摘要由CSDN通过智能技术生成

参考

作者写这个工具的时候,beego 2.0还没有发布,所以用的是beego 1.12.3,用2.0的同学,可以自己改造下。

目录

一、安装

二、创建应用

2.1 conf

2.2 controllers

2.3 routers

2.4 static 和 views目录

2.5 models和data

三、Beego的配置

3.1 配置监听端口

3.2 static

3.3 证书的设置

3.4 日志设置


一、安装

go get github.com/astaxie/beego
go get github.com/beego/bee

注意: beege和bee是两个概念。beego是框架,bee是工具,是命令。 在安装Beego前,先确认是否将$GOPATH/bin写入GO环境中。

二、创建应用

bee new webDemo     //创建一个web应用

也不一定非要用这个命令,只要创建好对应的目录,放好文件就可以了。

目录结构如下:

2.1 conf

这个目录是beego的配置文件目录,里面有个app.conf文件,你可以配置任何你想要的东西。

2.2 controllers

这个目录主要是各个url的实现,我们作为WEB的服务端,主要的任务就是处理各个URL的消息。

当然不一定非要是这个名字,主要是当前主流默认这么写的。

// LoginController
type LoginController struct {
	beego.Controller
}
//登录页面
func (c *LoginController) Get() {
	c.TplName = "login.html"
}

//登录功能
func (c *LoginController) Post() {

}

// LogoutController
type LogoutController struct {
    beego.Controller
}

//登录退出功能
func (c *LogoutController) Post() {

}

2.3 routers

这个目录是路由的定义,就是定义某个URL是由哪个controller去处理。

package routers

import (
	"../controllers"
	"github.com/astaxie/beego"
)

func Init() {
	beego.Router("/home/login", &controllers.LoginController{})
	beego.Router("/home/logout", &controllers.LogoutController{})
}

这里我定义的是两个URL,登陆和退出,分别由对应的controller去处理。

当然还另外一种定义方法:

package routers

import (
	"../controllers"
	"github.com/astaxie/beego"
)

func Init() {
	beego.Router("/home/login", &controllers.AccessController{}, "get:HomeProcess")
	beego.Router("/home/login", &controllers.AccessController{}, "post:LoginProcess")
	beego.Router("/home/logout", &controllers.AccessController{},"post:LogoutProcess")
}

就是比第一种方法多了个参数,而且是在同一个controller中处理。 这里就是定义两个URL分别由AccessController中的LoginProcess和LogoutProcess两个函数处理。

这个方法好的一点就是不需要那么多controller,不好的一点当然是放在一起的时候,很容易混淆,代码结构也看着不是很清晰。我更喜欢第一种方式。

2.4 static 和 views目录

static是静态访问目录。这里可以放置一些脚本之类的东西。

views是视图的目录,上面的get方法返回的login.html就是这个目录,不需要特定指定,按照上面 c.TplName = "login.html"的写法,默认返回的是views 目录的html页面信息。

2.5 models和data

这俩目录不是必须的,models可以放一些常量的定义,对象的定义等,数据类型的定义等。data目录可以放一下数据处理的动作,比如读写数据库,数据缓存等处理。

三、Beego的配置

这里介绍几个简单的,想要详细了解,可以去看相应的开发文档。

3.1 配置监听端口

	beego.BConfig.Listen.HTTPAddr = "127.0.0.1"
	beego.BConfig.Listen.HTTPPort = int(8080)
	beego.BConfig.Listen.HTTPSAddr = "127.0.0.1"
	beego.BConfig.Listen.HTTPSPort = int(8080)
    beego.BConfig.Listen.EnableHTTPS = true
    beego.BConfig.Listen.EnableHTTP = false

指定对应的IP地址和监听端口,并且指定是使用HTTP还是HTTPS,也可以俩都用,就是需要并行进行两个监听。

也可以从app.conf中读取。通过beego的接口获取配置文件中的内容。这个文件也可以自定义的,但是一般情况没人这么搞,也没有必要。

	beego.BConfig.Listen.HTTPAddr = models.ServerHost
	beego.BConfig.Listen.HTTPPort = models.ServerPort
	beego.BConfig.Listen.HTTPSAddr = models.ServerHost
	beego.BConfig.Listen.HTTPSPort = models.ServerPort

	port, err := beego.AppConfig.Int("httpport")
	if err == nil {
		beego.BConfig.Listen.HTTPPort = port
		beego.BConfig.Listen.HTTPSPort = port
	}

	host := beego.AppConfig.String("serveraddr")
	if len(host) != 0 {
		beego.BConfig.Listen.HTTPSAddr = host
		beego.BConfig.Listen.HTTPAddr = host
	}

	beego.BConfig.Listen.EnableHTTPS = false
	beego.BConfig.Listen.EnableHTTP = true

3.2 static

    beego.SetStaticPath("/url", "static")

这里设置静态目录,第一个参数是以127.0.0.1:8080为基础的url,第二个是静态路径。

上面的代码就是指定访问127.0.0.1:8080/url的时候,返回static目录中index.html,index.html是默认的文件,如果是其他文件,可以在controllers中进行定义。

3.3 证书的设置

如果使用https,那么必然是要使用证书的,证书的生成可以使用openssl命令生成,这个网上有很多的教程。


	sslEnable, _ := beego.AppConfig.Bool(models.SSL_ENABLE)
	if sslEnable {
		beego.BConfig.Listen.EnableHTTPS = true
		beego.BConfig.Listen.EnableHTTP = false
	}

	beego.BConfig.Listen.HTTPSCertFile = models.GetCertPemFile()
	beego.BConfig.Listen.HTTPSKeyFile = models.GetCertNewKeyFile()

	tlsConfig, err := models.GetTLSConfig()
	if err == nil {
		beego.BeeApp.Server.TLSConfig = tlsConfig
	}
// 获取TLS配置
func GetTlsConfig() (*tls.Config, error) {
	var config *tls.Config
	caCert := GetCaCertFile()
	pool, errPool := GetX509CACertPool(caCert)
	if errPool != nil {
		log.Error("generate certPool failed: %v", errPool)
		return config, errPool
	}

	config = &tls.Config{
		RootCAs:      pool,
		ClientAuth:   tls.NoClientCert,
		MinVersion:   tls.VersionTLS12,
		CipherSuites: []uint16{tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256},
	}
	return config, nil
}

上面这部分是证书的配置内容,只是简单的示例。

3.4 日志设置

	jsonConfig := `{
			"filename": "./log/server.log",
			"daily": true,
			"maxdays": 7,
			"maxsize": 10240000
		}`
	_ = log.SetLogger("file", jsonConfig)
	log.SetLevel(log.LevelDebug)
	log.EnableFuncCallDepth(true)
	log.SetLogFuncCallDepth(4)

	log.Debug("=======================start server================================")

  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要下载 yarn 1.12.3,需先进入官方网站 https://yarnpkg.com/zh-Hans/,在页面底部找到“版本历史记录”并点进去,滑到 1.12.3 版本,点击“下载”按钮,转到 Github 的链接页面,会有三个文件下载,分别是 yarn-1.12.3.tar.gz,yarn-1.12.3.tar.gz.asc,和 yarn-1.12.3.tar.gz.sig。选中需要的文件,然后右键点击“另存为”,就可以开始下载了。下载完成后,如果是 windows 系统,需要解压缩 yarn-1.12.3.tar.gz 文件到你想要的目录即可,如果是 Mac 或 Linux,可以使用命令行解压缩,输入 tar -xzf yarn-1.12.3.tar.gz。然后将解压缩的文件放到环境变量 PATH 中(windows 系统)或者将路径添加到 .bash_profile 文件中(Mac 或 Linux)。这样就可以在命令行工具中使用 yarn 命令了。记得及时更新版本,可以使用 yarn upgrade 命令,具体操作可参阅官方文档https://yarnpkg.com/zh-Hans/docs/cli/upgrade。 ### 回答2: 要下载Yarn 1.12.3,你可以按照以下步骤进行操作: 首先,打开你的浏览器并进入Yarn的官方网站。你可以通过搜索引擎来找到这个网站。一旦打开了官方网站,你可以在导航栏中找到“下载”选项并单击它。 在下载页面上,你将看到所有 Yarn 的可用版本。向下滚动页面,直到找到版本为 1.12.3 的 Yarn。一旦找到了这个版本,你可以单击下载按钮来开始下载。 下载完成后,你可以在你的计算机上找到下载的安装程序。在Windows上,它通常会出现在默认的下载文件夹中。在Mac上,你可以在“下载”文件夹中找到它。 找到安装程序后,双击运行它。根据你的操作系统,可能会弹出一些确认窗口,以确保你想安装的是Yarn 1.12.3。按照安装程序的提示进行安装。 一旦安装完成,你现在就可以在你的计算机上使用Yarn 1.12.3了。你可以通过在终端或命令提示符中输入“yarn -v”来确认已经成功安装了这个版本。 总结一下,要下载Yarn 1.12.3,你需要前往Yarn官方网站,找到该版本的下载链接并下载安装程序,然后按照提示进行安装即可。希望这能帮到你。 ### 回答3: 要下载yarn 1.12.3,需要按照以下步骤进行操作: 1. 首先,打开yarn的官方网站。你可以在任何一个搜索引擎上搜索“yarn官网”来找到官方网站的链接。 2. 进入官网后,你会看到一个“Download”(下载)按钮。点击这个按钮,会跳转到下载页面。 3. 在下载页面,你会看到yarn的最新版本和不同操作系统的安装包。寻找版本1.12.3,并且选择与你的操作系统相符的安装包。比如,如果你使用的是Windows系统,就选择Windows版本的安装包。 4. 点击选择的安装包后,会提供一个下载链接。点击下载链接,安装包会开始下载到你的电脑上。 5. 下载完成后,找到安装包文件,并打开它。 6. 执行安装包,按照安装向导的指引,完成yarn 1.12.3的安装过程。 7. 安装完成后,你可以在命令行界面(比如Windows的CMD或者Linux的Terminal)中输入“yarn --version”来验证安装是否成功。如果显示的版本号是1.12.3,那么恭喜你,yarn 1.12.3已经成功下载安装了。 请注意,以上步骤可能因为个人的操作系统、网络环境或者官网的更新而有所不同,但基本流程是一样的。如果在下载和安装过程中遇到任何问题,建议访问yarn的官方网站,并查找官方文档或者寻求官方的技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值