发行部署

开发模式

通过 bee 创建的项目,beego 默认情况下是开发模式。

我们可以通过如下的方式改变我们的模式:

  1. beego.RunMode = "prod"

或者我们在 conf/app.conf 下面设置如下:

  1. runmode = prod

以上两种效果一样。

开发模式中

  • 开发模式下,如果你的目录不存在 views 目录,那么会出现类似下面的错误提示:

    1. 2013/04/13 19:36:17 [W] [stat views: no such file or directory]
  • 模板每次使用都会重新加载,不进行缓存。

  • 如果服务端出错,那么就会在浏览器端显示如下类似的截图:

dev.png

发行部署

Go 语言的应用最后编译之后是一个二进制文件,你只需要 copy 这个应用到服务器上,运行起来就行。beego 由于带有几个静态文件、配置文件、模板文件三个目录,所以用户部署的时候需要同时 copy 这三个目录到相应的部署应用之下,下面以我实际的应用部署为例:

  1. $ mkdir /opt/app/beepkg
  2. $ cp beepkg /opt/app/beepkg
  3. $ cp -fr views /opt/app/beepkg
  4. $ cp -fr static /opt/app/beepkg
  5. $ cp -fr conf /opt/app/beepkg

这样在 /opt/app/beepkg 目录下面就会显示如下的目录结构:

  1. .
  2. ├── conf
  3. ├── app.conf
  4. ├── static
  5. ├── css
  6. ├── img
  7. └── js
  8. └── views
  9. └── index.tpl
  10. ├── beepkg

这样我们就已经把我们需要的应用搬到服务器了,那么接下来就可以开始部署了。

这里部署首先你需要把应用跑起来,这分为两种方式:

上面只是把应用程序完全暴露在外部,我们大多数的应用会在前端部署一个 nginx 或者 apache 利用这些成熟的 HTTP 服务器做负载均衡或者其他认证之类的。