Resin服務器安裝配置手冊(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)運行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下的服務:
The Resin Web Server can be installed as an Windows service.
Resin服務器可以被安裝成為Windows的服務
要安裝為Windows的服務,可以用下面的命令
C:"> resin-3.0.x"bin"httpd -install -conf conf/myconf.conf
這樣Resin就會作為服務隨著機器的啟動而自動開啟。
要想移除此服務
C:"> resin-3.0.x"bin"httpd -remove
你也可以用如下命令開啟和關閉Resin的服務:
C:"> net start resin
...
C:"> net stop resin
多服務起配置:
使用參數 -install-as foo來指定一個特定的服務名
C:"> resin-3.0.x"bin"httpd -install-as ResinA -conf conf/myconf.conf
-server a
C:"> net start ResinA
注意:
有一些JDK存在這樣的Bug,當管理員帳戶注銷以后服務也會隨著關閉,解決辦法是在安裝的時候使用參數–Xrs:
C:"> resin3.0.0/httpd.exe -install –Xrs
二、Linux下resin的安裝以及配置:
1、安裝
1) 安裝 JDK 1.4
2) 確定環境變量JAVA_HOME設置正確
3) 安裝
單獨運行:
# 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用來指定系統允許使用的功能擴展模塊的類型,這里指定為so類型。
--enabel-so 用來指定允許使用DSO(Dynamic Share Object動態共享對象)。
# make
# make install
設置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
此時已經生成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的狀態頁面
2 、配置
1)linux下使用resin的單服務器配置
使用單服務器方案,只要安裝完畢,配置一下Resin的resin.conf文件和app_default.xml文件就可以了,resin.conf文件中需要配置兩處,一是端口號,另一處是Web程序存放目錄,app_default.xml內可配置默認首頁的搜索順序。由于原網站使用多個端口配置,所以單服務器只能用于做單個站點的測試使用。
2)linux下使用resin的多服務器配置以及多實例開機自動運行的配置
有時候需要運行多個服務器以在同一個IP上監聽多個端口,這時候就需要使用單獨的Resin服務器運行多個實例,以監聽多個端口來部署多個Web站點。
可以有如下兩種配置方法:
第一種方法:
這種方法為多次使用httpd.sh的參數指定配置文件和運行時的pid文件,實現多個實例的運行。
使用的命令行如下所示:
$RESIN_HOME/bin/httpd.sh -conf conf/resin1.conf -pid resin1.pid start
解釋:
-conf 選項為選擇此服務器實例所用的配置文件,在這個文件里面配置不同的端口和主目錄。
-pid 進程id及所用pid文件。
start啟動。
用以上命令,在建立多個服務器配置文件以后就可以手工打開多個服務器實例。
把這些語句加到/etc/rc.d/rc.local中就可以實現開機自動啟動了。
第二種方法:
這種方法使用Chkconfig命令設置多服務器自動啟動,運行于不同系統運行級別的后臺方式。并使他們成為可在圖形界面下管理的服務。
設置好JAVA_HOME環境變量后將RESIN解包到/home/resin下,執行編譯腳本
#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復制到/etc/rc.d/init.d/目錄下改名為resinx
修改resin文件的內容(三處)
(1)JAVA環境設置
找到以下代碼段
JAVA_HOME=/usr/java
RESIN_HOME=/usr/local/resin
并修改他們為相應的目錄,第一個為JDK安裝主目錄,第二個為Resin安轉主目錄。
(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
;;
其實上面的程序和第一部分是一樣的,只是用腳本來運行了。
最后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
如此你想運行幾個服務器實例創建幾個這樣的文件(resinx)
修改resin中的一些設置:JAVA_HOME RESIN_HOME USER等,
將resin服務在不同的啟動級中設置成自啟動:
#/sbin/chkconfig resin1 reset
#/sbin/chkconfig resin2 reset
......
創建不同的配置文件
注意每一個配置文件必須保持三處不同:
(1)srun(負載平衡配置)部分端口號必須不同,用不同的ip地址也可以。
在原文件的如下部分:
<cluster>
<srun server-id="" host="127.0.0.1" port="6802"/>
</cluster>
(2)默認主文件目錄要設為不同,不然就失去了多個實例的意義,不然的話還不如用負載平衡來提高性能
<web-app id="/" document-directory="webapps/ROOT"/>
(3)服務器的端口號必須不同。
<http server-id="" host="*" port="8080"/>
這樣系統啟動的時候,resin就會在后臺運行多個實例了,效果和第一步一樣。