前几天在ITEYE上看到篇文章: 红帽的 PaaS 平台 OpenShift 支持 Java EE 6,被几个关键字吸引了:免费、支持 Java EE 6、MySQL,联想到以前用GAE的日子,可惜,万恶的G.F.W。。。。。。于是上官方网站去瞧了瞧,发现OpenShift Express提供128M免费空间,支持MYSQL、NoSql,立马注册个帐号,开玩!
帐号注册、激活步骤就不说了,注册地址:https://openshift.redhat.com/app/user/new/express,下面以windows为例,简单介绍下怎么部署java web应用到OpenShift上。
第一步:安装客户端工具RHC,下载Cygwin,这东西下载下来后是在线安装的,得花点时间,一路"下一步",到Select Packages步骤时,需要装以下几个包:openssh、ruby、make、gcc、git,在Search框中搜索这几个东西,比如:openssh,在结果列表中展开,点那个"Skip",如果出来好几个,就只选搜索的关键字+:开头的那个,如图:,PS:在search框输关键字时别按回车,按了的话就上一步吧!都选好了,接下去就是漫长的安装了。
安装完Cygwin后,还得下个东西:rubygems,下载完,解压之。打开安装好的Cygwin,执行命令:
$ ruby rubygems解压目录/setup.rb install
$ gem install --source http://gems.rubyforge.org --source https://openshift.redhat.com/app/repo/ rhc
至此,客户端工具:rhc安装完毕!
第二步:创建域名(只能算是半个二级域名)。一个帐号只能建一个域名,但是可以建多个应用,今后访问应用路径就是:http://应用名-域名.rhcloud.com。
在Cygwin中执行以下命令:
$ rhc-create-domain -n 域名 -l email地址(就是你的帐号)
会提示输入密码,输呗!
如果域名已存在,会提示失败!至此,第二部完毕!
第三步:创建应用。
在Cygwin中执行以下命令:
$ rhc-create-app -a 应用名 -t jbossas-7.0(我们开发的是java应用,当然是jboss了)
同样要求输密码!接下去就是等待域名解析成功了!如果最后提示失败,没关系,重新输入上面这个命令。
当看到:Success! Your application is now published here:
http://...........
说明成功了!赶紧访问看看!
第四步:创建MySQL数据库。
还是命令:
rhc-ctl-app -a 应用名 -e add-mysql-5.1
创建成功的话会返回数据库用户名、密码以及连接地址等信息。
万一忘记了帐号、密码等信息,可以在java代码中输入下列代码获取:
System.getenv("OPENSHIFT_DB_HOST") // 数据库地址
System.getenv("OPENSHIFT_DB_PORT") //数据库端口
System.getenv("OPENSHIFT_DB_USERNAME") //数据库帐号
System.getenv("OPENSHIFT_DB_PASSWORD") //数据库密码
第三步创建的应用可以在本地的cygwin\home\系统用户\下找到,该项目是maven构建的,可以通过m2eclipse导入到eclipse中,这下可以在eclipse中编辑项目了!自由发挥吧!项目编辑完,需要在Cygwin中执行以下命令:
cd 应用名
git add .
git commit -a -m "随便写点记录信息"
git push
会自动重启应用,再访问看看,是否成功了!