日期:2014-05-16  浏览次数:20807 次

apache2与resin 3.1.6 在linux下的整合与负载均衡

apache2与resin 3.1.6 在linux下的整合与负载均衡

<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/mo