[翻译]Play框架1.2.7版本教程(11) - 部署应用

部署应用

现在咱们已经完成了博客引擎了。让咱们来看一下一些部署Play应用的步骤。mysql

定义一个框架ID

通常,你须要部署你的应用到一台跟开发时不同的电脑。这台电脑(颇有多是台服务器)上面的Play安装包不会是同样的。sql

Play容许你给每一个框架安装包指定不一样的ID,来用同一个application.conf管理不一样的配置。让咱们假设应用将部署在server01上。数据库

一旦框架已经安装在服务器上,用play id来定义一个框架ID:安全

$ play id

并设置id为server01。如今咱们能够在yabe的配置中定义只在服务器运行时起效的值。服务器

在PROD模式下设置应用

咱们首先给部署版本定义application.mode变量。目前,咱们一直使用DEV来实现热重载,即时从新编译Java文件,显示错误信息。在PROD模式中,Play会在启动时编译全部的Java代码和模板,并且不会检查是否有改变。app

yabe/conf/application.conf定义:框架

%server01.application.mode=PROD

如今当你在服务器运行yabe,它就会自动在PROD下启动。.net

配置MYySQL数据库

在生产环境中,咱们将使用MySQL而不是一直在用的H2数据库。Play提供了MySQL配套的JDBC驱动,因此咱们不须要下载别的。代理

编辑yabe/conf/application.conf中的数据库配置:code

%server01.db=mysql:root:secret@yabe

咱们如今调整一下Hibernate管理数据库模式的方式。若是Java模型变更时,Hibernate可以自动更新数据库模式,那是再好不过的。

修改jpa.ddl配置键:

%server01.db=mysql:root:secret@yabe

不过这么作恐怕会致使不可预料的后果,毕竟,在运行时吧数据库的安全交给未知的事物,这不是个好主意。若是你不但愿Hibernate自动更新数据库,修改jpa.ddl配置键为validate

%server01.jpa.ddl=validate

配置HTTP服务器

目前咱们仅仅是把80端口做为内置HTTP服务器的默认端口。可是这样作一台服务器上只能运行一个Play应用。若是咱们须要在一台服务器上运行不一样的应用(不过使用的是不一样的IP地址),咱们须要使用一个HTTP服务器做为反向代理。

你能够选择喜欢的HTTP服务器并配置其做为反向代理。这里咱们选择轻量级的lighttpd做为例子。

对lighttpd的详细配置已经超出了本教程的范围,但大致上看上去像这样:

server.modules = (
      "mod_access",
      "mod_proxy",
      "mod_accesslog" 
)
…
$HTTP["host"] =~ "www.yabe.com" {
    proxy.balance = "round-robin" proxy.server = ( "/" =>
        ( ( "host" => "127.0.0.1", "port" => 9000 ) ) )
}

而后在application.conf中加入下面一行,让本地的反向代理可以链接上你的Play应用:

%server01.XForwardedSupport=127.0.0.1

这才只是个开始

若是一路上你一直跟着本教程,你应该已经懂得如何开发一个Play应用了。你学到了Play开发所需的大部分概念。

但有许多特性咱们还没谈论到,特别是跟Web服务相关的,好比JSON或XML。Play还有一些带来更多特性的模块没有讲到。而且Play自己也在不断发展着。

若是你认为Play可以使得你的开发如虎添翼,如今把握机会开始吧!

谢谢收看!

相关文章
相关标签/搜索