一直对resin的印象不是很好。老是会囤积内存导致性能逐渐下降,需要定时重启才行。还是支持一下它,毕竟不像tomcat需要钱^_^。下面我将简单的列出我在配resin做负载均衡的配置。由于网上很多文章都是说resin2.x的配置。而resin3的配置变动相对比较大。就我的体验来说:
多了一个配置文件app-default.xml。它的情况和apache的配置相似,可以全部写到一个文件中。当然也可以使用默认的在主配置文件resin.conf中指定。 对log文件的控制:使用了日志轮训的功能。 下面就简单列出如何配置load balance:
安装:
1. 编译apache:./configure --enable-module=so --prefix=/usr/local/apache && make && make install
2. 安装resin:将resin包解压到/usr/lcoal/resin目录中,然后将resin集成到apache中(./configure --with-apxs=/usr/local/apache/bin/apxs && make && make install)
3. 定义环境变量:
可以把下面内容放在/etc/profile或者用户的.profile中,或者直接放在/usr/local/resin/bin/httpd.sh的开头。
JAVA_HOME=/usr/java
export JAVA_HOME
RESIN_HOME=/usr/local/resin
export RESIN_HOME
CLASSPATH=/usr/java/lib
export CLASSPATH
4. 配置apache:
需要配置DocumentRoot以及后面resin的负载均衡相关配置,在这之前,需要先假设我开4个cluster,ip分别是10.10.22.1、10.10.22.2、10.10.22.3、10.10.22.4。网卡设置好后,如果按照我上面写的做的话,在httpd.conf最后已经有3句话:
LoadModule caucho_module /usr/local/apache-mysql/libexec/mod_caucho.so
ResinConfigServer localhost 6802
CauchoStatus yes
只需将第二句改成:
ResinConfigServer 10.10.22.1 6802
ResinConfigServer 10.10.22.2 6802
ResinConfigServer 10.10.22.3 6802
ResinConfigServer 10.10.22.4 6802
这方面的配置和resin2.x也是有所不同的。ok!apache基本配置好了。
5. resin的配置:
<http port='80'/>
<cluster>
<srun server-id="a" host="10.10.22.1" port="6802" index="1"/>
<srun server-id="b" host="10.10.22.2" port="6802" index="2"/>
<srun server-id="c" host="10.10.22.3" port="6802" index="3"/>
<srun server-id="d" host="10.10.22.4" port="6802" index="4"/>
</cluster>
其他根据自己需求配置!
6. 启动resin和apache:由于使用负载均衡技术,因此启动也不单单是起一个http.sh了。可以写一个脚本:
#!/bin/sh
/usr/local/apache/bin/apachectl start
/usr/local/resin/bin/httpd.sh -pid /usr/local/resin/srun1.pid -server a start
/usr/local/resin/bin/httpd.sh -pid /usr/local/resin/srun2.pid -server b start
/usr/local/resin/bin/httpd.sh -pid /usr/local/resin/srun3.pid -server c start
/usr/local/resin/bin/httpd.sh -pid /usr/local/resin/srun4.pid -server d start