在开发应用系统的时候,我们通常使用的上下文并不是根路径,而发布在测试服务器或生产服务器的时候,我们会将它发布在根目录下,以便通过ip地址可以直接访问得到,比如:http://www.suneca.com或http://192.168.1.163进行访问。
oracle Application Server 10g将应用系统发布在根路径非常麻烦,在OC4J下面发布的时候,非常简单,只需要在context的选项当中输入 / 即可,但是在Oracle Application Server 10g下面发布是非常痛苦的一件事,一旦操作有误,应用服务器就起不来了,需要手工去修改server.xml及default-web-site.xml这两个配置文件,重起才能使用。
之前研究Oracle Application Server 10g的时候,真的只能用四个字来形容,那就是“生不如死”,因为手头没有什么资料,google或baidu出来的信息很多都不能用。后来不断地尝试,再加上通过公司的资源,跟深圳Oracle 的售后工程师取得联系之后,在他们的支持下,最终解决了问题。现在总结一下,希望能给这一块有需要的朋友提供帮助。
第一步,我们需要发布我们的应用系统,在发布应用系统的时候,指定上下文路径为/,如下图所示:
接着,将应用程序成功发布,发布完之后可以关闭,也可以不关闭,先按以下的步骤修改配置文件先,但先万不要重起,一重起就麻烦了,需要做的事情会多很多。
第二步,修改配置文件,进入%OAS_HOME%/Apache/Apache/conf/目录,找到mod_oc4j.conf文件,进行修改。在<IfModule mod_oc4j.c></IfModule>之间,加入
Oc4jMount /*
注意,这种修改方式只适应于OAS instance为home的情况,假如你安装的OAS instance不是home,是其他名字,那要改为:
Oc4jMount /* <oc4j_instance_name>
第三步:修改%OAS_HOME%/j2ee/home/config/default-web-site.xml配置文件。
屏蔽以下设置:
<web-app application = "training" name = "training" load-on-startup = "true" / >
将刚刚发布的应用作为default-web-app,如下所示:
修改完的default-web-app.xml文件如下程序块所示:
<web-site xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "http://xmlns.oracle.com/oracleas/schema/web-site-10_0.xsd" port = "12501" protocol = "ajp13" display-name = "OC4J 10g (10.1.3) Default Web Site" schema-major-version = "10" schema-minor-version = "0" >
<!-- <default-web-app application="default" name="defaultWebApp" root="/j2ee" /> -->
<default-web-app application = "training" name = "training" load-on-startup = "true" root = "/" / >
<web-app application = "system" name = "dms" root = "/dmsoc4j" access-log = "false" / >
<web-app application = "system" name = "JMXSoapAdapter-web" root = "/JMXSoapAdapter" / >
<web-app application = "default" name = "jmsrouter_web" load-on-startup = "true" root = "/jmsrouter" / >
<web-app application = "ascontrol" name = "ascontrol" load-on-startup = "true" root = "/em" / >
<web-app application = "bc4j" name = "webapp" load-on-startup = "true" root = "/webapp" / >
<!-- <web-app application="training" name="training" load-on-startup="true" /> -->
<access-log path = "../log/default-web-access.log" split = "day" / >
< /web-site >
第四步:重起opmn
opmnctl stopall 停步opmn及所有服务
opmnctl startall 启动opmn及所有服务
opmnctl status 检查opmn服务的状态,必须为Alive
第五步:测试
打开IE,浏览一下http://localhost<:youport>,假如显示正常,则说明发布已经成功。
注意:假如你的opmn起不来或者发布之后没有修改配置文件就马上重起的,此时,你需要检查一下%OAS_HOME%/j2ee/home/config/server.xml文件,一般在倒数第四行,有没有一个
假如没有的话,重新加进去即可。