欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

weblogic9.2如何去掉端口号和项目名,直接用域名访问 博客分类: weblogic Weblogic应用服务器电子政务WebOracle 

程序员文章站 2024-03-25 20:39:40
...

大家可能都有体会,在weblogic上部署了应用以后。访问的时候都要敲上一堆url。最典型的就是如下:http;//localhost:7001/webapp/……等等,这个在我们的自己的开发环境上倒是可以勉强接受,可是在真正的网站发布的时候,到了用户那里,人家可不愿意在域名后面敲上难记的端口再加上一堆路径。而且,当weblogic上面部署了几个不同的应用的时候,人家该怎么通过不同的域名来访问我的站点呢?这些就是我们接下来要解决的问题。

 

让我们以XX*电子政务项目中的一个解决办法作为例子吧。首先交代一下环境:数据库用的是是oracle。Web应用是部署在weblogic上面的,其中有两个web应用是要通过域名让外界访问的,一个是外网门户网站,web应用中名字简称为WWMH。一个是内网门户网站,web应用中的名字简称为NWMH。假设这两个应用是处于同一个目录中的,他们的文件夹就是他们web应用的名称,两个域名分别是www.xxxx.gov.cn和inner.xxxx.gov.cn。

 

我们先看看域名访问的大体过程:

比如外部某个机器输入域名访问www.xxxx.gov.cn,这个域名会被解析成为ip地址以及一些请求的主机信息,这样找到DNS服务器。再通过DNS所设的ip指向weblogic所在主机,这样就可以访问到外网的应用,具体详细的DNS原理请参见其他资料。

 

外网几个关键配置如下:在这里的前提条件是你的web应用已经部署上了。首先要把mydomain->Servers->myservers中的list port端口改为80,默认的是7001。这样你通过域名访问的时候就不需要敲入端口,因为默认的就是80。然而仅仅这样还是不够的,此时如果你通过域名访问的时候,在域名后面还得跟上WWMH的文件夹路径,否则访问不到。我们现在所要设置的是context root的路径。把WWMH的文件夹去掉,取而代之的是 ”/”,这样你默认的路径就是根目录了,做法是找到weblogic.xml文件,加上/,重起服务,这样通过域名就可以访问了。

 

如果仅仅是部署了一个应用,通过这样的配置访问当然没有问题。可是,一个weblogic上会部署多个应用。需要通过不同的域名来访问,此时,该怎么办?比如说这里的内网,在外网已经配置好的情况下,又不忍心去改动以前配置好的成果。特别是前面的开发人员已经配置好的情况下。我们想到了weblogic自身的一个功能,那就是设置虚拟主机。它的思想就是,把内网的应用模拟成另外一个域名,通过这个域名来达到访问内网的目的。

 

具体的配置如下:在weblogic的console的左边导航栏,中选择mydomain ->Services-> VirtualHosts,然后在右面点击Configure a new Virtual Host...,在Configuration的General选项卡下面,填写:Name: NWMH 。Virtual Host Names里面填上: inner.weifang.gov.cn。然后点击“apply”,然后到Target and Deploy 选项卡,选中myserver,点击“apply”,这样名称为NWMH的虚拟主机就搭建成功了。

 

   接下来在weblogic的console的左边导航栏,中选择mydomain ->Deployments-> Web Application Modeules,在deploy NWMH的应用时,在 Virtual Hosts下选上NWMH,点击 Deploy按钮。这样虚拟主机的配置算是完成了。但是,想要通过域名直接访问内网还是不行。后面还得跟上讨厌的路径,比如inner.xxxx.gov/NWMH,然而默认的路径已经被外网给占用了,如果你在内网的配置文件里面加上/,部署肯定是不成功的,weblogic会告诉你,context root已经被占用。怎么办?其实不要慌。解决办法如下:

在内网门户的配置文件上加上

重起服务,敲入域名inner.xxxx.gov.cn。一切ok!问题解决。通过这种方法,weblogic上即使再部署几个应用都是可以解决的。

 

以上内容仅仅是个人在做项目中的心得。并不保证其技术的完整性和绝对正确。

 

以上内容转自:http://www.blogjava.net/nighthawk/articles/9227.html