在google云平台上部署Java web工程(在google app engine上部署自己的应用)

最近准备在Google 云平台上(之前的Google App Engine)部署我之前的一个Java web项目,现在将部署的过程记录下来


第一步 准备环境

  1. eclipse(我这里的版本是Eclipse 4.3 Kepler)
  2. JDK 7.0(google官网推荐是7.0版本,如果你的项目是在6.0的环境下开发的话,你需要重新再7.0的环境下编译测试)

https://developers.google.com/appengine/docs/java/gettingstarted/installing

  3.  安装Google Pulgin from eclipse,我在线安装的时候报错了 ,故转而下载安装本地离线包

安装说明   https://developers.google.com/eclipse/docs/install-from-zip?hl=zh-CN

下载地址  dl.google.com/eclipse/plugin/core/4.3/zips/gpe-e43-latest-updatesite.zip (国内网络貌似打开得有点慢,我用goagent翻墙出去下载的)

安装步骤:

常见的安装方法有如下几种:

  a) 打开eclipse-->help-->install from site--> add (work with)-->archive选中 之前下载的压缩包即可。 不过这种安装方法 在检查dependency的时候会非常缓慢。

 b)直接将下载的压缩包解压 将 features和plugins这两个文件件拷贝到eclipse的安装目录下载droplins目录下,重启myeclipse(或者eclipse)即可。


安装完成后会在eclipse(myeclipse)中看到google plugin for eclipse的图标:

在这个插件中我们可以看到gpe为我们提供的部署调试项目的一些功能。


第二步 部署DEMO 

      在正式部署自己的项目之前我们先将google app engine为我们提供的demo试着部署到gae上去。以下是部署的步骤。


   1.在我们正式使用google的服务之前我们首先对得注册一个google的账户 并且要申请 gae服务,申请的网址是:http://appengine.google.com 详细的注册步骤这里就不叙述。完了之后用自己的账户登录gae ,并在自己的控制台创建的自己的应用


        点击应用名字可进入到该应用的控制台(当然现在该应用的状态是未部署状态)

    2.在gae上创建完成了自己的应用之后,就可以打开集成开发环境eclipse进行开发了,google web application 同我们平时的web项目一样 他们的项目文件组成结构大同小异

我们看到 唯一的区别就是在WEB-INF目录下多出了一个appengine-web.xml,当然我们也不必手动建立这样的工程目录因为gpe的 New Web Application  向导会为我们自动生成这样的目录结构,我们要做的只需到google官网上下载 App Engine SDK (这里是appengine-java-sdk)https://developers.google.com/appengine/downloads?_ga=1.61215278.369480473.1395212552 最新的下载地址以网站更新为准。  然后将sdk加到项目的build path中去即可,然后根据 官网上的tutorial完善我们的guestbook的内容即可 https://developers.google.com/appengine/docs/java/gettingstarted/introduction。

3 .最后一步就是利用gpe将我们的项目上传到google的云平台上即可, 这里要注意 一定要将appengine-web.xml中的 <application>you app</application>       改为你在第1步中注册的应用的名称。最后使用ape 的Deploy to App Engine 向导即可完成整个部署。

4.访问我们部署在gae上的应用,我们每一步在gae上注册的应用google都会为我们的应用分配一个appsot.com下的以我们应用名称命名的域名,即 youapp.appspot.com ,通过访问分配给我们的这个域名即可访问我们部署在gae上的应用 , 但是不幸的是appspot.com的这个域名下的某些网站由于涉及到了某些对天朝不利的东西,这个域名已经被墙了,那么我们如何访问们的应用呢, 这个地方有个解决方案http://www.zhihu.com/question/21323419/answer/18135840但是我试过之后发现该方案只能用于第一次访问,网站处理业务需要跳转后就不能正确访问了。那怎么办呢, 在gae的控制台中我们发现了有一个可以为自己的应用绑定域名的功能(在Administration的Application Settings的Domain Setup里面)但是这里血药google apps来配合,现在google apps不提供正对个人用户的免费服务了,但是每个账户有30天的试用期,所以在这段时间内我们可以通过绑定自己的应用到自己的域名(可以在网上申请免费的域名)来访问应用,这篇文章讲述了使用google apps 来绑定域名的方法  

http://www.freehao123.com/google-apps/ (虽然文章讲的是免费获取google apps服务(现在已经没有了免费服务了,但是经过我后期的观察,我发现虽然google apps 服务过期了,但是它还能继续提供的绑定age应用的域名功能,因此采用这个办法是可以永久获取域名绑定服务的,呵呵) ,但是都会讲到绑定域名的方法 )。

最终极的解决不能访问域名的方法就是 fan qiang , 我使用的是goagent 关于goagent的使用方法网上一大堆教程 随便baidu  google即可。但是说到goagent我就不得不说我有一个很大的疑惑,goagent的原理和我们部署自己应用到gae的道理是一样的,它本身就是一个部署在gae的应用, 只不过distribute to everyone而已, 那为什么通过goagent的客户端我们可以访问部署在gae上的goagent服务端?难道客户端是直接访问的google为其分配的ip?要是这样的话我们每一个应用都有一个ip,那么google得向用户非配多少个ip呀? 最近这个问题一直在困扰着我, 那会大神知道其中的原理还希望不吝赐教。

5.最后访问的效果如下:


第三部 部署自己的项目 

     由于自己的项目(基于ssh的)会涉及到一些个人隐私,这里就不po出整个过程了,移植过程到第二部大同小异,这里给出一个部署的范例  http://www.cnblogs.com/default/archive/2010/11/05/1870313.html  但是要注意一下几点:


   1.需要将自己使用的第三方lib copy 到WEB-INF下的lib目录下。

    2.freemaker 需要用它的for  age版本否则会出错,详参见我的这篇blog

    




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值