OpenShift基础使用指南四:java程序(B3log-Solo)部署

前几篇文章给大家介绍了如何在本地搭建openshift环境,以及如何部署PHP程序,今天给大家介绍一下如何部署java程序,这里以开源java博客B3log-solo为例。

约定


1、已有OpenShift账户,并已经创建了Jboss7APP。

2、APP已经添加了MYSQL-5.1。

3、本地已经安装JAVA(jdk)环境。

准备


1、B3log-solo-mysql-0.5.5安装包,解压到D盘根目录。

2、通过SSH连接到openshift。

3、执行命令 'mysql' (无引号)进入mysql数据库,然后使用以下命令创建名为b3log的数据库


CREATE DATABASE `b3log` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


开始部署


 1、配置B3log-Solo

  修改D:\b3log-solo-mysql-0.5.5\WEB-INF\classes 目录中的latke.properties和local.properties

  配置域名信息D:\b3log-solo-mysql-0.5.5\WEB-INF\classes\latke.properties

 这是我的配置信息:


serverScheme=http

serverHost=islinux-who.rhcloud.com

serverPort=80

staticServerScheme=http

staticServerHost=islinux-who.rhcloud.com

staticServerPort=80


如果你有域名请将上面的islinux-who.rhcloud.com换成你的域名,这里默认使用Openshift提供的二级域名

配置数据库信息D:\b3log-solo-mysql-0.5.5\WEB-INF\classes\local.properties


jdbc.driver=com.mysql.jdbc.Driver

jdbc.URL=jdbc:mysql://127.12.32.129:3306/b3log?useUnicode=yes&characterEncoding=UTF-8

jdbc.username=admin #数据库用户名

jdbc.password= #数据库密码


 上面jdbc.URL中的IP可以使用rhc app show islinux 命令得到(将islinux换成你自己的)数据库用户名和密码可以在openshift BASH中运行 export 得到

msql host

2、将B3log-Solo打包成ROOT.war文件

    具体命令:


cd D:\b3log-solo-mysql-0.5.5\

jar cvf d:\ROOT.war .


PS:提示jar命令无效,请带jar的绝对路径,如:


C:\Program Files\jdk1.7.0_01\bin\jar cvf d:\ROOT.war .


也可以将jar路径添加到系统PATH中

PS:如war包名字不为ROOT.war,需要修改D:\b3log-solo-mysql-0.5.5\WEB-INF\classes\latke.properties文件的contextPath项和staticPath顶,


#假设是XXX.war

contextPath=/XXX

staticPath=/XXX


3、上传到OpenShift

 将上面的ROOT.war 上传到OpenShift的

~/jbossas-7/runtime/repo/deployments

更新

此目录已经改为 ~/jbossas-7/jbossas-7/standalone/deployments

可以将war包上传到Dropbox或者google code,再通过wget下载;也可以使用工具直接上传(推荐使用Xmanager套件中的Xshell,连上ssh后,可以直接使用xftp进行上传)。具体方法就不说了。

PS:我用git clone到本地再push 没有成功。只能如此办法了。

4、成功


[islinux-who.rhcloud.com deployments]\> ls

ROOT.war ROOT.war.deployed


上面就表示成功了

访问

http://islinux-who.rhcloud.com/ 

http://islinux-where.rhcloud.com/

进行初始化

感谢@sdandroid.com的指导

PS:


  1. 目录已知不能显示验证码,等待B3log团队修复。已修复。

  2. 不能开启admin cache插件,不然会导致内存爆满导致app停止运行。

此博客就运行在openshift上面