環(huán)境:Apache2.2.9、Resin-3.1.6、Win Server 2003
配置步驟如下:
1,解壓Resin至任意目錄,例如D盤中。
2,安裝apache服務(wù)器軟件,全部填寫localhost,默認端口 80;
3,進入Resin目錄運行setup.exe,勾選Web Servers中的Apache復(fù)選框,并在后面的輸入框中填寫你的Apache安裝目錄,這里安裝為D:\Apache2.2;
4,打開 Apache的配置文件(D:\Apache2.2\conf\httpd.conf,我的),找到這行:LoadModule caucho_module "D:/resin-3.1.6/win32/apache-2.0/mod_caucho.dll",就是你的Resin安裝目錄中與Apache整合 的插件模塊,不過它默認的是apache-2.0目錄下的。
使用這個模塊,在啟動Apache服務(wù)器時會出錯,必須使apache-2.2目錄下的 mod_caucho.dll,修改后為:LoadModule caucho_module "D:/resin-3.1.6/win32/apache-2.2/mod_caucho.dll";
5,找到這行:#ServerName localhost:80,將前面的#號去掉(不知道為什么它默認把它注釋了);
6,找到這行:<Directory "D:/Apache2.2/htdocs">,改為<Directory />,如果不改Apache將不會去找虛擬主機配置文件中對應(yīng)的目錄(如果你用localhost訪問);
7,將Options Indexes FollowSymLinks,目錄列表,安全設(shè)置為將Indexes去掉,不顯示目錄列表;
8,將#i nclude conf/extra/httpd-vhosts.conf前面的#號去掉,打開虛擬主機配置;
至此httpd.conf配置結(jié)束.
接下來配置虛擬主機文件:httpd-vhosts.conf。
httpd-vhosts.conf在"D:\Apache2.2\conf\extra" 目錄下,將"NameVirtualHost *:80"改為"NameVirtualHost localhost:80",確定為本機(測試時)。
如果正式啟用Internet服務(wù),就把它換成你的服務(wù)器的IP地址。
虛擬主機基本配置:
復(fù)制代碼 代碼示例:<VirtualHost localhost:80>
ServerName localhost
DocumentRoot E:/workspace/sshDemo/WebRoot
Alias /test E:/workspace/test/WebRoot
ResinConfigServer 127.0.0.1 6800
</VirtualHost>
<VirtualHost localhost:80>
ServerName localhost
DocumentRoot E:/workspace/sshDemo/WebRoot
Alias /test E:/workspace/test/WebRoot
ResinConfigServer 127.0.0.1 6800
</VirtualHost>
以上配置節(jié)中的各個元素說明:
<VirtualHost localhost:80>:localhost為網(wǎng)站域名,80端口可以不寫,如果改成別的端口則需要寫上,同時還要修改httpd.conf中 的監(jiān)聽端口號:Listen 80
ServerName:網(wǎng)站域名,同上;
DocumentRoot:網(wǎng)站程序主目錄;
Alias: 網(wǎng)站中其他的WEB應(yīng)用的名稱及目錄位置;
ResinConfigServer:Resin服務(wù)器監(jiān)聽端口,我這里是本地 為:127.0.0.1,如果有多臺機器作為服務(wù)器,修改成對應(yīng)IP地址即可;
至此虛擬主機的配置完成了,一個網(wǎng)站對應(yīng)一 個<VirtualHost xxx.xxx.com></VirtualHost>標記;
下面介紹下Resin的配置:
Resin 配置文件:D:\Resin-3.1.6\conf\resin.conf,打開并搜索"8080"對應(yīng)的就是HTTP端口,將HTTP端口注釋,因為我 們已經(jīng)不需要Resin提供WEB服務(wù)了,只要讓它監(jiān)聽本的端口就行,本地監(jiān)聽端口位置大概在149,這樣一行"<server id="" address="127.0.0.1" port="6800"/>",同樣如果Apache裝在別的機器上,這里就改成這臺機器的IP地址了,否則Apache會找不到Resin的端口 的;
如果想使用多JVM來實現(xiàn)多機器的功能實現(xiàn):
一個JVM一個配置文件;
每個配置文件的監(jiān)聽端口不能相同,要 改<server id="" address="127.0.0.1" port="6800"/>中的port值,6801,6802,...以此類推,Apache與之保持一致;
將Resin注冊成為 Windows服務(wù):
命令行切換至Resin主目錄,運行httpd -install 完成默認resin服務(wù)安裝,httpd -remove完成默認resin服務(wù)卸載,使用多JVM時就不能這樣安裝,如下:
httpd -install-as 服務(wù)名 -conf 對應(yīng)resin配置文件;
httpd -remove-as 服務(wù)名
然后,啟動Apache與Resin,這時會發(fā)現(xiàn)Resin服務(wù)只能啟動一個。
原因分析:Resin在注冊為Windows服務(wù)時,都有一個自己監(jiān)控的功能,它會占用一個端口:6600。
在resin.conf中 大概121行的位置可以看到:"<watchdog-port>6600</watchdog-port>"。
修改方法:
本地監(jiān)聽端口6800,自己監(jiān)聽:6600,6801:6601。
至此,在本機的Apache上配置不同端口、多站點的內(nèi)容就介紹完了,希望對大家有所幫助。
還得加
#AddHandler type-map var
AddHandler caucho-request action jhtml
不然.action不能運行