應用程序完成后將它安裝在一組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消除了這個遺憾。將整個過程回憶出來記錄如下。
- Apache+JBoss集群的安裝不再多述,網上有很多,本人的Blog中也有。需要一提的是,編譯Apache時要加上 --enable-rewrite選項,這樣可以略過下面的第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重啟時候就會加載重定向模塊。
-
讓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]
- 重啟動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就能打開應用程序。