Chinaunix首页 | 论坛 | 博客
  • 博客访问: 520710
  • 博文数量: 213
  • 博客积分: 7027
  • 博客等级: 少将
  • 技术积分: 1974
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-24 08:51
文章分类

全部博文(213)

文章存档

2007年(213)

我的朋友

分类: LINUX

2007-09-07 17:42:10

                        用apache配置TongWeb集群

一、Web集群的组成
一个TongWeb Server集群包含有一定数量的TongWeb服务器、TongWebDirector 以及Web代理服务器。互相之间可以协作实现高负载,高可用性等功能。
Web代理服务器(简称WebServer):位于web客户端(浏览器)和TongWebDirector之间,可以是Microsoft IIS、Apache、NetScape/iPlanet。主要用于提供静态页面(html,gif,jpeg)服务,对于servlet/jsp的调用,将会转给TongWeb Director。
TongWeb Director:作为插件附加在Web代理服务器上。通过请求派发策略实现请求派发工作和服务器失效检测工作。
TongWeb 服务器(AppServer):之间可以通过网络实现对于http session数据的实时复制,从而保证客户端的高可靠访问。一台TongWeb服务器又称为一个集群节点。
Web 应用:部署在TongWeb服务器上的,由 serlvet/jsp以及一些静态资源组成的应用程序,供浏览器访问使用。一个 web 应用,一般打包为一个 WAR 文件。






Web代理服务器和TongWeb服务器启动的先后次序无关紧要,TongWebDirector将总是选择目前可用的TongWeb服务器,并周期性地检测TongWeb服务器是否正常工作。另外,还可以使用配置文件tongweb_director.conf来增加、删除或修改它所管理的TongWeb服务器。


二、Web集群的方式
1、负载均衡
负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。TongWeb集群通过代理服务器上的TongWebDirector,将客户端发送来的请求均匀分配到多台内部Web服务器之一上,从而达到负载均衡的目的。而接收到请求的服务器独立地回应客户的请求。
2、带会话迁移功能的应用级集群
带会话迁移功能的应用级集群就是在建立的负载均衡集群的基础上增加了Session保存与迁移功能。当Web应用中使用了Session时,集群中的每个TongWeb服务器管理自己所产生的Session,当Web应用从一台服务器迁移到另一台服务器时,Session也会自动进行迁移,这样使得对Session的管理被均匀地分布到所有的服务器上,任何一台服务器失效并不会使Session数据丢失。从而保证了Session应用的安全性和可靠性。

三、在UNIX平台上用APACHE配置集群
1、TongWebDirector for Apache 1.3的安装配置
1.1 安装Apache Web Server
apache安装在10.46.6.181的/opt/apache目录下,用boss用户进入起停。
安装过程略(直接tar一个可用的就可以了)

1.2 修改配置
1)更改httpd.conf文件
进入/usr/local/apache/conf,使用熟悉的编辑工具如vi打开httpd.conf文件,修改ServerName和Port为自己需要的配置。
这里为了不影响大家原先的使用,所以将端口设置为9004

1.3 装载模块状态检查
为了后面能成功安装Apache上的TongWebDirector,必须确保mod_so能正常装载,因此需要检查模块是否装载,进入/usr/local/apache/bin,运行./httpd -l,查看是否有mod_so.c项,如果有就说明该正常装载了。

2、安装TongWebDirector二进制代码模块
2.1 安装所需二进制代码文件以及辅助文件列表
􀁺 Apache扩展模块文件: mod_tongweb_director.so
该文件是一个Apache扩展模块。缺省应该放在Apache的libexec目录,并使用httpd.conf中的AddModule和LoadModule指令装载。

􀁺 TongWebDirector 配置文件: tongweb_director.conf
该文件包含TongWebDirector配置。mod_tongweb_director.so模块缺省情况下在httpd.conf同一个目录中寻找该文件。

􀁺 TongWebDirector 守护程序文件: edir_daemon
该程序运行在后台监视模块子实例使用的共享内存区域来协调负载平衡。在Apache中必须是因为它使用多个单独进程来允许并发请求的多线程性。该守护进程在Apache启动时自动启动,并在Apache停止时自动清除共享内存退出。

􀁺 TongWebDirector 状态工具: edir_status
该实用程序直接读取TongWebDirector模块使用的共享内存区域,报告当前配置的每个应用和TongWeb服务器状态。
Director二进制模块是平台相关的,存放在/director/Apache目录中。

2.2 复制与本机操作系统匹配的下列文件到相应的位置
复制edir_daemon和edir_status到/usr/local/apache/bin;
复制mod_tongweb_director.so到/usr/local/apache/libexec;
复制tongweb_director.conf.default到/usr/local/apache/conf。

2.3 修改httpd.conf文件
在httpd.conf中,找到LoadModule的块,紧接所有LoadModule的语句,加入新的一行:
LoadModule tongweb_director_module libexec/mod_tongweb_director.so
并在后面加入一行:
AddModule mod_tongweb_director.c

2.4 配置应用,此处以/BossWeb为例。
此处分别在10.46.6.175和10.46.6.181上的tongweb的管理台上配置几个TongWebDirector类型连接,对应应用前缀都为/BossWeb,连接分别为下面2个:
host=10.46.6.175 port=2008
host=10.46.6.181 port=2008
删除原先的9004端口的http类型的连接(tongweb对这块的支持不好,如果两种类型的连接都在的话,应用加载类的时候会重复加载,导致错误)

该配置保存在/boss/websvr/webapp/BossWeb.war/WEB-INF目录下的teas-web.xml文件中,需要备份一下原先的文件。

2.5 配置tongweb_director.conf文件
首先将tongweb_director.conf.default复制成tongweb_director.conf文件,用编辑器打开,注释掉所有的标记块,这样做的目的是避免虚拟的应用配置引起不必要的应用配置检查,增加Director启动时间。然后根据上面的应用配置,加入新的配置标记,基本配置如下:




特别注意应用的prefix应该配置成和后端服务器添加新连接时所配置的URL Prefix拼写完全一致,包括大小写,否则不能得到正常结果。为了能在其他主机上验证TongWebDirector状态,找到Status标记,删除下面两行:



weight="0" 权重为0表示该服务器为备份服务器
weight="1" 权重为1表示该服务器的访问量为1
weight="2" 权重为2表示该服务器的访问量为1的两倍

2.6 进入/opt/apache/bin,运行./apachectl start,启动Apache服务器
进入/usr/local/apache/logs察看文件列表,可看见新增文件目录edir,其中包含文件tongweb_director.ipc。该文件是包含所有apache子进程在处理TongWebDirector请求时使用的共享内存数据的scoreboard文件。正常路径在Apache的logs/edir子目录中,首次运行TongWebDirector时自动创建。

在浏览器中输入,(WebServerIP是Director所在服务器的IP ,Port是Apache的HTTP端口,详见更改httpd.conf文件)察看是否正常返回。如果正常,浏览器应该有内容返回,如下图:



.7(可选) 访问配置的前缀为/BossWeb的应用
配置步骤到第6)步如果正常则已经顺利结束,此时可以开始使用TongWebDirector,在浏览器中使用URL ,(WebServer是Director所在服务器)正确进入应用对应页面




阅读(2695) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~