Beego是一个快速开发Go应用的HTTP框架,可以用来快速开发API、Web、后端服务等各种应用。本文档介绍了如何开发一个简单的Beego应用,并将其部署至Web+。

步骤一:安装Beego

  1. 执行以下命令来安装Beego和工具bee。
    go get -u github.com/astaxie/beego
    go get -u github.com/beego/bee
  2. 执行以下命令将$GOPATH/bin目录加入$PATH环境变量。
    echo 'export PATH="$GOPATH/bin:$PATH"' >> ~/.profile
    source >> ~/.profile

步骤二:创建应用

  1. 打开终端,进入$GOPATH/src所在的目录,执行以下命令来快速创建一个命名为webplusdemo的项目。
    bee new webplusdemo
    上述命令会创建一个名为webplusdemo的目录,结构如下:
    webplusdemo
    ├── conf
    │   └── app.conf
    ├── controllers
    │   └── default.go
    ├── main.go
    ├── models
    ├── routers
    │   └── router.go
    ├── static
    │   ├── css
    │   ├── img
    │   └── js
    │       └── reload.min.js
    ├── tests
    │   └── default_test.go
    └── views
       └── index.tpl
  2. 进入项目目录,执行bee run

  3. 打开浏览器,输入http://localhost:8080来访问项目。

步骤三:打包应用

  1. 在项目目录下新建Procfile来给Go应用指定启动命令,填写以下内容,并保存。
    web: chmod +x webplusdemo; ./webplusdemo
  2. 使用bee工具来对打包工程。
    bee pack -be GOOS=linux -be GOARCH=amd64 -f zip

    执行完上述命令,将会在项目目录下生成一个名为webplusdemo.zip的压缩包,按照下述步骤来将该Go应用部署至Web+。

步骤四:创建应用并完成部署

  1. 登录 Web+控制台,并在页面左上角选择所需地域。
  2. 概览最近更新的部署环境区域的右上角单击新建
  3. 应用基本信息页面选择技术栈类型为Go,设置应用基本信息,设置完成后单击下一步

  4. 部署环境信息页面设置部署环境名称,部署包来源选择上传本地程序,上传您刚打包的webplusdemo.zip,设置部署包版本后单击完成创建
  5. 完成创建页面单击查看该应用完成创建可进入应用详情页面。单击部署环境名称进入部署环境详情页面,然后单击公网访问地址右侧的链接进入应用首页。

常见问题

健康检查失败导致网站无法访问怎么办?

如果使用SLB,请在健康检查URL的controller中接受head请求,否则可能会导致健康检查失败,网站无法访问。
package controllers

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

type MainController struct {
  beego.Controller
}

func (c *MainController) Get() {
  c.Data["Website"] = "beego.me"
  c.Data["Email"] = "astaxie@gmail.com"
  c.TplName = "index.tpl"
}


func (c *MainController) Head() {
  c.Ctx.Output.Body([]byte(""))
}

更多信息