应用程序完成后将它安装在一组JBoss群集里面,群集包括两台JBoss服务器和一台Apache服务器(IP地址是192.168.1.109)。两台jboss服务器是隐藏的,用户只能访问Apache,然后由Apache为其分配一台Jboss服务器。整个系统已经能够工作,但是还存在一个问题,就是Apache只认完整的url,即http://192.168.1.109/trans/login.jsp,若只输入http://192.168.1.109/trans或http://192.168.1.109,Apache无法完成重定向功能。最后通过配置Apache消除了这个遗憾。将整个过程回忆出来记录如下。
  1. Apache+JBoss集群的安装不再多述,网上有很多,本人的Blog中也有。需要一提的是,编译Apache时要加上 --enable-rewrite选项,这样可以略过下面的第2步。
  2. 为Apache 增加rewrite模块。
    当初在安装Apache时没有配置--enable-rewrite选项,在Apache的源文件中找到mode_rewrite.c,它所在的位置一般在{APACHE_SOURCE_HOME}/ modules/mappers/mod_rewrite.c.
    我的Apache安装运行所在的目录是/opt/apache2.2.14.
    编译:
    cd /{APACHE_SOURCE_HOME}/modules/mappers/
    /opt/apache2.2.14/bin/apxs -c mod_rewrite.c
    /opt/apache2.2.14/bin/apxs -i -a -n mod_rewrite mod_rewrite.la
    如果没出错,在/opt/apache2.2.14/modules/ 中就会有mod_rewrite.so了

    同时,在httpd.conf文件里会自动添加以下一行,若没有,请手动增加这一行。
    LoadModule rewrite_module modules/mod_rewrite.so
    这样当Apache重启时候就会加载重定向模块。

  3. 让Apache自动转向
    不要用<VirtualHost *:80></VirturalHost>,用了以后Apache失去了向后台Jboss转发的功能。
    直接在Httpd.conf中增加以下内容:
    ServerName trans.bts.app:80
    RewriteEngine On
    Rewriterule ^/trans/?$    http://192.168.1.109/trnas/login.jsp [R]
    Rewriterule ^/?$            http://192.168.1.109/trnas/login.jsp [R]

  4. 重启动Apache.
    /opt/apache2.2.14/bin/apachectl restart
    若没有发生错误,Apache就可以完成转向了。直接在URL中输入http://192.168.1.109或 http://192.168.1.109/trans就可访问后台应用程序了。可以在DNS上给Apache服务器映射一个域名,如:trans.bts.ca,则直接访问http://trans.bts.ca就能打开应用程序。