Resin服務(wù)器安裝配置手冊(Windows and Linux)
http://blog.csdn.net/zynovo/archive/2006/06/05/773723.aspx
一、Windows下resin的安裝以及配置
1 、安裝
1)安裝好JDK
2)把resin-3.0.x.zip解壓縮
3)運(yùn)行resin-3.0.x/httpd.exe
4)打開http://localhost:8080查看測試頁面
如果正確打開,窗口會顯示如下信息:
C:"win32> resin-3.0.0"bin"httpd
Resin 3.0.0-beta (built Thu Feb 13 18:21:13 PST 2003)
Copyright(c) 1998-2002 Caucho Technology. All rights reserved.
Starting Resin on Sat, 01 Mar 2003 19:11:52 -0500 (EST)
[19:11:56.479] ServletServer[] starting
[19:11:57.000] Host[] starting
[19:11:58.312] Application[http://localhost:8080/doc] starting
[19:12:11.872] Application[http://localhost:8080/quercus] starting
...
[19:12:12.803]http listening to *:8080
[19:12:12.933]hmux listening to *:6802
2、配置
部署為Windows下的服務(wù):
The Resin Web Server can be installed as an Windows service.
Resin服務(wù)器可以被安裝成為Windows的服務(wù)
要安裝為Windows的服務(wù),可以用下面的命令
C:"> resin-3.0.x"bin"httpd -install -conf conf/myconf.conf
這樣Resin就會作為服務(wù)隨著機(jī)器的啟動而自動開啟。
要想移除此服務(wù)
C:"> resin-3.0.x"bin"httpd -remove
你也可以用如下命令開啟和關(guān)閉Resin的服務(wù):
C:"> net start resin
...
C:"> net stop resin
多服務(wù)起配置:
使用參數(shù) -install-as foo來指定一個特定的服務(wù)名
C:"> resin-3.0.x"bin"httpd -install-as ResinA -conf conf/myconf.conf
-server a
C:"> net start ResinA
注意:
有一些JDK存在這樣的Bug,當(dāng)管理員帳戶注銷以后服務(wù)也會隨著關(guān)閉,解決辦法是在安裝的時候使用參數(shù)–Xrs:
C:"> resin3.0.0/httpd.exe -install –Xrs
二、Linux下resin的安裝以及配置:
1、安裝
1) 安裝 JDK 1.4
2) 確定環(huán)境變量JAVA_HOME設(shè)置正確
3) 安裝
單獨(dú)運(yùn)行:
# tar zxvf resin-3.0.4.tar.gz
# mv resin03.0.6 /usr/local/resin
#cd /usr/local/resin
# ./configure
# make
# make install
#cd bin
#./httpd.sh start
自動啟動:
在/etc/rc.d/rc.local中加入如下語句:
/usr/local/resin/bin/httpd.sh start
和Apache整合:
1)Apache安裝
# tar zxvf httpd-2.49.tar.gz
# cd httpd-2.49
# ./configure --prefix=/usr/local/httpd --enable-modules=so --enable-so
--prefix
--enable-modules用來指定系統(tǒng)允許使用的功能擴(kuò)展模塊的類型,這里指定為so類型。
--enabel-so 用來指定允許使用DSO(Dynamic Share Object動態(tài)共享對象)。
# make
# make install
設(shè)置apache自動啟動:
將Apache的啟動文件apachectl寫入rc.local中
/usr/local/httpd/bin/apachectl start
2)Resin安裝
# tar zxvf resin-3.0.4.tar.gz
# cd resin-3.0.4
# ./configure --prefix=/usr/local/resin --with-apache=/usr/local/httpd
# make
# make install
此時已經(jīng)生成Resin連接Apache2的.so文件了,其存在與$APACHE_HOMEe/modules/mod_caucho.so
conf/httpd.conf中就會多出以下語句:
LoadModule caucho_modules modules/mod_caucho.so
ResinConfigServer localhost 6802
分別先后啟動Resin和Apache
訪問http://hostname/caucho-status 可以看到Resin的狀態(tài)頁面
2 、配置
1)linux下使用resin的單服務(wù)器配置
使用單服務(wù)器方案,只要安裝完畢,配置一下Resin的resin.conf文件和app_default.xml文件就可以了,resin.conf文件中需要配置兩處,一是端口號,另一處是Web程序存放目錄,app_default.xml內(nèi)可配置默認(rèn)首頁的搜索順序。由于原網(wǎng)站使用多個端口配置,所以單服務(wù)器只能用于做單個站點(diǎn)的測試使用。
2)linux下使用resin的多服務(wù)器配置以及多實(shí)例開機(jī)自動運(yùn)行的配置
有時候需要運(yùn)行多個服務(wù)器以在同一個IP上監(jiān)聽多個端口,這時候就需要使用單獨(dú)的Resin服務(wù)器運(yùn)行多個實(shí)例,以監(jiān)聽多個端口來部署多個Web站點(diǎn)。
可以有如下兩種配置方法:
第一種方法:
這種方法為多次使用httpd.sh的參數(shù)指定配置文件和運(yùn)行時的pid文件,實(shí)現(xiàn)多個實(shí)例的運(yùn)行。
使用的命令行如下所示:
$RESIN_HOME/bin/httpd.sh -conf conf/resin1.conf -pid resin1.pid start
解釋:
-conf 選項(xiàng)為選擇此服務(wù)器實(shí)例所用的配置文件,在這個文件里面配置不同的端口和主目錄。
-pid 進(jìn)程id及所用pid文件。
start啟動。
用以上命令,在建立多個服務(wù)器配置文件以后就可以手工打開多個服務(wù)器實(shí)例。
把這些語句加到/etc/rc.d/rc.local中就可以實(shí)現(xiàn)開機(jī)自動啟動了。
第二種方法:
這種方法使用Chkconfig命令設(shè)置多服務(wù)器自動啟動,運(yùn)行于不同系統(tǒng)運(yùn)行級別的后臺方式。并使他們成為可在圖形界面下管理的服務(wù)。
設(shè)置好JAVA_HOME環(huán)境變量后將RESIN解包到/home/resin下,執(zhí)行編譯腳本
#tar zxf resin-version.tar.gz
#mv resin-version /home/resin
#cd /home/resin/
#./configure
#make
#make install
將make install生成的$RESIN_HOME/contrib/init.resin復(fù)制到/etc/rc.d/init.d/目錄下改名為resinx
修改resin文件的內(nèi)容(三處)
(1)JAVA環(huán)境設(shè)置
找到以下代碼段
JAVA_HOME=/usr/java
RESIN_HOME=/usr/local/resin
并修改他們?yōu)橄鄳?yīng)的目錄,第一個為JDK安裝主目錄,第二個為Resin安轉(zhuǎn)主目錄。
(2)PID=$RESIN_HOME/resin.pid
修改為
PID=$RESIN_HOME/resin1.pid(很清楚,要不一樣的pid)
(3)、找到程序段
start)
echo -n "Starting resin: "
if test -n "$USER"; then
su $USER -c "$EXE -pid $PID start $ARGS"
else
$EXE -pid $PID start $ARGS
fi
echo
;;
修改為
start)
echo -n "Starting resin: "
if test -n "$USER"; then
su $USER -c "$EXE -conf $RESIN_HOME/conf/resin1.conf -pid $PID start $ARGS"
else
$EXE -conf $RESIN_HOME/conf/resin1.conf -pid $PID start $ARGS
fi
echo
;;
其實(shí)上面的程序和第一部分是一樣的,只是用腳本來運(yùn)行了。
最后chmod +x resin1
用上面的方法拷貝出resin2,resin3.....
chmod +x resin1
chmod +x resin2
......
命令為:
cp contrib/init.resin /etc/rc.d/init.d/resin1
vi /etc/rc.d/init.d/resin1
i
:wq
chmod +x /etc/rc.d/init.d/resin1
如此你想運(yùn)行幾個服務(wù)器實(shí)例創(chuàng)建幾個這樣的文件(resinx)
修改resin中的一些設(shè)置:JAVA_HOME RESIN_HOME USER等,
將resin服務(wù)在不同的啟動級中設(shè)置成自啟動:
#/sbin/chkconfig resin1 reset
#/sbin/chkconfig resin2 reset
......
創(chuàng)建不同的配置文件
注意每一個配置文件必須保持三處不同:
(1)srun(負(fù)載平衡配置)部分端口號必須不同,用不同的ip地址也可以。
在原文件的如下部分:
<cluster>
<srun server-id="" host="127.0.0.1" port="6802"/>
</cluster>
(2)默認(rèn)主文件目錄要設(shè)為不同,不然就失去了多個實(shí)例的意義,不然的話還不如用負(fù)載平衡來提高性能
<web-app id="/" document-directory="webapps/ROOT"/>
(3)服務(wù)器的端口號必須不同。
<http server-id="" host="*" port="8080"/>
這樣系統(tǒng)啟動的時候,resin就會在后臺運(yùn)行多個實(shí)例了,效果和第一步一樣。