<1> 安裝apache
./configure --prefix=/opt/apache2 --enable-so --enable-dav --enable-dav-fs --enable-mods-shared=most
make
make install
安裝resin :
./configure --prefix=/opt/resin3.1.6 --with-apxs=/opt/apache2/bin/apxs --with-apache=/opt/apache2
make
make install
上述操作編譯安裝完后,會自動修改apache,包括:
1. copy mod_caucho.so到apache目錄(就是前面指定的--with-apache=/data/aoxj/artest/apache)的modules
2. 修改apache的配置文件conf/httpd.conf,自動增加以下內容
LoadModule caucho_module ***/modules/mod_caucho.so
ResinConfigServer localhost 6800
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
如果沒有自動修改,請自己手動添加,或者檢查,是否配置正確。
1)linux下使用resin的單服務器配置
使用單服務器方案,只要安裝完畢,配置一下Resin的resin.conf文件和app_default.xml文件就可以了,resin.conf文件中需要配置兩處,
一是端口號,另一處是Web程序存放目錄,app_default.xml內可配置默認首頁的搜索順序。
由于原網站使用多個端口配置,所以單服務器只能用于做單個站點的測試使用。
配置如下:
修改resin/conf/resin.conf
<server id="a" address="192.168.1.116" port="6800"/>
啟動 /opt/resin/bin/httpd -server a start
如果使用如下命令默認啟動,
/opt/resin/bin/httpd start
必須如下配置.默認 是id 為空
<server id="" address="192.168.1.116" port="6800"/>
啟動 /opt/apache2/bin/apachectl start
訪問 http://localost/caucho-status 看是否成功.
==========================================================================================================
2)linux下使用resin的多服務器配置
有時候需要運行多個服務器以在同一個IP上監聽多個端口,這時候就需要使用單獨的Resin服務器運行多個實例,以監聽多個端口來部署多個Web站點。
這種方法為多次使用httpd.sh的參數指定配置文件和運行時的pid文件,實現多個實例的運行。
使用的命令行如下所示:
$RESIN_HOME/bin/httpd.sh -conf conf/resin2.conf -server b start/stop
解釋:
-conf 選項為選擇此服務器實例所用的配置文件,在這個文件里面配置不同的端口和主目錄。
具體配置如下:
配置一:
copy 一份resin.conf,命名為resin2.conf,找到 <http address="*" port="8080"/>
將其注釋掉。修改為: <!--http address="*" port="8080"/-->.
添加<server id="b" address="192.168.1.166" port="6801"/>。
修改apache配置文件 :
LoadModule caucho_module modules/mod_caucho.so
ResinConfigServer 192.168.1.166 6800
ResinConfigServer 192.168.1.166 6801
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
然后用如下命令啟動:
/opt/resin3.1.6/bin/httpd.sh -conf /opt/resin3.1.6/conf/resin2.conf -server b start
訪問 http://localost/caucho-status 看是否成功.
配置二:
copy 一份resin.conf,命名為resin3.conf,找到 <http address="*" port="8080"/>
將其注釋掉。修改為: <!--http address="*" port="8080"/-->.
添加
<server id='b' address='192.168.1.166' port='6802' watchdog-port="6602">
<http port="8081"/>
</server>
這樣配置,即啟動了兩套resin服務。優點是比較安全。缺點是 比較浪費系統資源。
修改apache配置文件 :
LoadModule caucho_module modules/mod_caucho.so
ResinConfigServer 192.168.1.166 6800
ResinConfigServer 192.168.1.166 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
然后用如下命令啟動:
/opt/resin3.1.6/bin/httpd.sh -conf /opt/resin3.1.6/conf/resin3.conf -server b start
訪問 http://localost/caucho-status 看是否成功.
如果訪問不了。接著添加如下配置到httpd.conf中。
<Location /caucho-status>
SetHandler caucho-status
</Location>
============================================================================================================
<2> apache,resin與虛擬主機
上面只是配好apache與resin的整合,其它很多企業應用中還涉及到配置apache與resin的虛擬主機的配置,
接著來說說如何利用apache與resin配置虛擬主機了,注意以下介紹的都是基于一個IP多個域名的虛擬主機的配法:
配置apache2:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/www/test1"
ServerName www.test1.com
ServerAlias www.test1.com
ErrorLog "logs/test1_err.log"
CustomLog "logs/test1_access.log" common
ResinConfigServer 192.168.1.166 6800
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/www/test2"
ServerName www.test2.com
ServerAlias www.test2.com
ErrorLog "logs/test2_error.log"
CustomLog "logs/test2_access.log" common
ResinConfigServer 192.168.1.166 6801
</VirtualHost>
修改apache 配置文件如下:
LoadModule caucho_module modules/mod_caucho.so
ResinConfigServer 192.168.1.166 6800
ResinConfigServer 192.168.1.166 6801
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
<Location /caucho-status>
SetHandler caucho-status
</Location>
也可以將 第二行和第三行注釋掉。
添加目錄訪問權限:
<Directory "/www">
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
配置resin.conf ,添加如下:
<host id="www.test1.com" root-directory=".">
<host-alias>www.test1.com</host-alias>
<web-app id="/" root-directory="/www/test1/"></web-app>
</host>
配置resin2.conf 添加如下內容:
<host id="www.tet2.com" root-directory=".">
<host-alias>www.test2.com</host-alias>
<web-app id="/" root-directory="/www/test2/"></web-app>
</host>
注意,<host-alias>一定要和apache中的ServerAlias相對應。
分別啟動resin:
/opt/resin3.1.6/bin/httpd.sh -server a start
/opt/resin3.1.6/bin/httpd.sh -conf /opt/resin3.1.6/conf/resin2.conf -server b start
分別在/www/test1和 /www/test2/目錄下建立test1.jsp 和test2.jsp測試,是否成功。如果訪問成功。
說明配置成功。
以上是不同主機用不同的JVM,如果你只有一個虛擬host的話
可以在Apache的httpd.conf中這么這樣設置
<Location /applicationA/*>
ResinConfigServer 192.168.1.166 6800
</Location>
<Location /applicationB/*>
ResinConfigServer 192.168.1.166 6801
</Location>
不同的模塊,使用不同的jvm