resin 自生就可以进行负载均衡设置,但是只有professional版本才支持,这个东西的license一个CPU比较贵,所以实际使用的 apache+resin的组合,apache(前台)+ resin(后台集群)可以很好的实现负载均衡。apache用来服务静态页面,resin用来服务动态页面。
如果并发访问量很大的话,就应该考虑在apache前面加squid做cache、通过dns轮寻,再加上使用LVS将是更好的方案。
192.168.11.3:apacht服务器
192.168.1.1: resin服务器1
192.168.1.2: resin服务器2
2. 需要模块
关于apache 和resin 的配置,这里就不详细说了,
注意:apache必须装上mod_caucho.so模块;
在配置resin的时候,必须加上:
./configure --prefix=/usr/local/resin --with-apxs=/usr/local/apache/bin/apxs --with-apache=/usr/local/apache;
配置resin
需要修改2台后端resin服务器的配置文件resin.conf,路径/usr/local/resin/conf/resin.conf,如果有多个resin,均按此方式配置
# vi /usr/local/resin/conf/resin.conf
找到配置文件中的,修改负载均衡配置,需要设置服务器的ID、IP和port,例如:
192.168.1.1的设置如下:
...........
192.168.1.2的设置如下:
............
配置增加监听端口
- mod_caucho Resin Configuration
LoadModule caucho_module modules/mod_caucho.so
ResinConfigServer localhost 6802
ResinConfigServer localhost 6803
- 访问测试
(1)编写测试页面
为了检查负载均衡是否生效,需要编写测试页面a.jsp,通过在web页面和各Resin的日志中显示的内容进行辨别,下面192.168.1.1的其中一个Resin为例说明
<%System.out.println(“server 192.168.1.1″);%> //在Resin日志中显示
server 192.168.1.1 //在web页面显示
其他Resin的a.jsp参照上例,只需要将其中的内容替换掉,例如192.168.1.2的a.jsp文件可以写成
<%System.out.println(“server 192.168.1.2″);%> //在Resin日志中显示
server 192.168.1.2 //在web页面显示
(2)发布项目
分别将来两个a.jsp文件放到192.168.1.1和192.168.1.2设置的resin的虚拟目录中,如果某resin的虚拟目录是
,则需要将a.jsp放到resin的webapps/ROOT目录下
(3)启动服务
#启动Apache
#/home/apache/bin/apachectl -k start
#分别启动调用的resin
启动192.168.1.2的resin中id为”a”的服务,需要在192.168.1.2服务器执行如下命令
# /usr/local/Resin/bin/httpd.sh -server a start
启动192.168.1.1的resin中id为”b”的服务,需要在192.168.1.1服务器执行如下命令
# /usr/local/resin/bin/httpd.sh -server b start
(4)验证a.jsp
使用IE多次访问web发布页面,通过页面显示的内容和resin日志打印的内容,检查是否随机调用各后端服务器1&2的resin的a.jsp文件。
Web页面的访问地址如下
查看resin的方法如下,如果要看查看192.168.1.1的resin中id为”a”服务的日志,需要在192.168.1.1服务器执行如下命令
# tail –f / usr/local/resin/log/a.log
多 次访问,如果每次会随机显示其中一个resin的a.jsp文件的内容,之后关闭其中个几个 resin(不是全部关闭),仍能正常访问,至此就完成了负载均衡的测试,证明配置成功。之后就可以正式 发布项目了。
阅读(1986) | 评论(0) | 转发(0) |