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


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/iinel/archive/2008/11/16/3307981.aspx

你可能感兴趣的:(apache,jvm,linux,应用服务器,Web)