- 論壇徽章:
- 1
|
Redhat 設置域名綁定的問題
參考一下:
apache+weblogic虛擬主機配置
整體環(huán)境
RedHat AS3
WebLogic Server 8.1 SP2 (/home/bea)
Apache 2.0.46 (/usr/local/apache2)
配置目標
實現(xiàn)兩個域名www.test1.com和www.test2.com能夠在一臺服務器上同時運行jsp及servlet應用
實現(xiàn)www.test1.com及其二級域名(如blog.test1.com)在同一臺服務器上運行jsp及servlet應用
注:www.test1.com目錄在/home/test1
www.test2.com目錄為/home/test2
blog.test.com目錄為/home/test1/blog(blog調(diào)用的圖片資源目錄位于/home/test1/resource)
www.test1.com、www.test2.com和blog.test1.com都被解析到同一個IP地址上
首先將www.test1.com在weblogic里面配置成默認的web應用test1
現(xiàn)在輸入www.test1.com:7001應該能訪問到test1
然后配置Weblogic的虛擬主機
在console的左邊導航欄,中選擇mydomain ->;Services->; VirtualHosts,然后在右面點擊Configure a new Virtual Host...,在Configuration的General選項卡下面,填寫:
Name: test2
Virtual Host Names: www.test2.com
然后點擊"apply",然后到Target and Deploy 選項卡,選中myserver,點擊"apply",這樣名稱為test1的虛擬主機就搭建成功了。
同樣再建立一個虛擬主機
Name: blog
Virtual Host Names: blog.test1.com
接著部署兩個應用,分別為: test2與blog
把test2部署到虛擬主機 www.test2.com
把blog部署到虛擬主機 blog.test1.com
重新起動weblogic服務器
現(xiàn)在可以訪問
http://www.test2.com:7001/
和
http://blog.test1.com:7001/
訪問到的應該是 www.test1.com下面的目錄
不急,更改config.xml文件
打開當前weblogic server的config.xml文件,找到VirtualHost配置部分,
把關于虛擬主機的部分修改為以下與上面相應的代碼
< VirtualHost DefaultWebApp="test2" Name="test2" Targets="myserver" VirtualHostNames="www.test2.com"/ >;
< VirtualHost DefaultWebApp="blog" Name="blog" Targets="myserver" VirtualHostNames="blog.test1.com"/ >;
即在每個虛擬主機配置里面加入一句 DefaultWebApp="(這里填相應的web應用的名字)"
更改配置文件后,重新起動weblogic服務器。
訪問
http://www.test2.com:7001/
和
http://blog.test1.com:7001/
現(xiàn)在應該是分別看到test2和blog目錄下面的默認網(wǎng)頁了
使apache與weblogic結合
把
/home/bea/weblogic81/server/lib/linux/i686
目錄下的mod_wl_20.so文件拷貝到
/usr/local/apache2/modules
目錄下
打開apache的httpd.conf文件添加以下代碼:
LoadModule weblogic_module modules/mod_wl_20.so
# WEBLOGIC MODULE
< IfModule mod_weblogic.c >;
WebLogicHost 127.0.0.1
WebLogicPort 7001
MatchExpression *.jsp (這里可以再加上自己調(diào)用的一些servlet,例如:MatchExpression /Test*,其中Test為所有servlet的前綴,當然這里也涉及到程序的規(guī)范化)
< /IfModule >;
為了使apache支持SSI,還要打開一下兩個模塊
LoadModule include_module modules/mod_include.so
LoadModule cgi_module modules/mod_cgi.so
然后再打開下面兩句
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml(想讓什么文件支持SSI,只需再這里加入即可,如加入.html,則html也可支持SSI)
然后更改網(wǎng)站的默認目錄為/home/test1
具體如下
ServerName www.test1.com
DocumentRoot "/home/test1/"
< Directory "/home/test1/" >;
Options Indexes FollowSymLinks +Includes(這句使網(wǎng)頁支持SSI)
AllowOverride None
Order allow,deny
Allow from all
< /Directory >;
然后進行虛擬主機的設置:
#默認web目錄
NameVirtualHost *
< VirtualHost * >;
ServerName www.test1.com
ServerAdmin webmaster@test1.com
DocumentRoot /home/test1
< /VirtualHost >;
#test2
< VirtualHost * >;
ServerAdmin webmaster@test2.com
DocumentRoot /home/test2
ServerName www.test2.com
< IfModule mod_weblogic.c >;
WebLogicHost www.test2.com
WebLogicPort 7001
MatchExpression *.jsp (這里可以再加上自己調(diào)用的一些servlet,例如:MatchExpression /Test*,其中Test為所有servlet的前綴,當然這里也涉及到程序的規(guī)范化)
< /IfModule >;
< Directory "/home/test2/" >;
Options Indexes FollowSymLinks +Includes
AllowOverride None
Order allow,deny
Allow from all
< /Directory >;
< Directory "/home/test2/WEB-INF/" >;
Order deny,allow
deny from all
< /Directory >;
< /VirtualHost >;
#blog
< VirtualHost * >;
ServerAdmin webmaster@test1.com
DocumentRoot /home/test1
ServerName blog.test1.com
< IfModule mod_weblogic.c >;
WebLogicHost blog.test1.com
WebLogicPort 7001
MatchExpression *.jsp (這里可以再加上自己調(diào)用的一些servlet,例如:MatchExpression /Test*,其中Test為所有servlet的前綴,當然這里也涉及到程序的規(guī)范化)
< /IfModule >;
< Directory "/home/test1/blog/" >;
Options Indexes FollowSymLinks +Includes
AllowOverride None
Order allow,deny
Allow from all
< /Directory >;
< Directory "/home/test1/blog/WEB-INF/" >;
Order deny,allow
deny from all
< /Directory >;
< /VirtualHost >;
存盤,退出
重啟apache
現(xiàn)在通過www.test1.com、www.test2.com和blog.test1.com即可分別訪問三個域名各自目錄下面的網(wǎng)頁
不過,還有一個問題是blog調(diào)用的resource文件位于/home/test1/resource目錄下,調(diào)用的圖片什么的顯示有問題,沒關系,我們作個軟鏈接即可
ln -s /home/test1/resource /home/test1/blog/resource
配置完畢,現(xiàn)在www.test1.com、www.test2.com和blog.test1.com都可正常解釋jsp和servlet |
|