Windows 2003下配置Apache代理Tomcat集群
2008-09-30 00:14
260 查看
索引
0、工作原理
1、软件准备
1.1 软件条目
1.2 安装JDK
1.3 安装Tomcat
1.4 安装Apache
2、配置Tomcat集群
2.1 修改Tomcat默认应用
2.2 添加ROOT应用
2.3 修改server.xml
2.4 修改web.xml
3、配置Apache HTTP代理
4、优化Tomcat配置
4.1 屏蔽HTTP Connector
4.2 配置虚拟主机
4.3 配置GBK编码
5、测试程序
0、工作原理
Apache(HTTP Server)2.2新增了代理服务器(Proxying)功能:新的代理均衡模块(mod_proxy_balancer)提供负载均衡服务;AJP 1.3(Apache JServ Protocol)替代jk/jk2等连接器与Tomcat通信。
结合Tomcat的集群(Cluster)功能,服务器结构如下:
注:绿色部分为本文采用的配置情况。
1、 软件准备
1.1 软件条目
1.2 安装JDK
安装至目录 D:/Java/jdk1.5.0 下,设置JAVA_HOME/CLASSPATH/PATH,略。
1.3 安装Tomcat
解压缩Zip文件至目录 D:/Apache/Tomcat 5.5.23_S1 下;待配好后,复制到D:/Apache/Tomcat 5.5.23_S2,修改相关的端口和路径。
1.4 安装Apache
安装至目录 D:/Apache/Apache2.2 下,可在Tomcat集群配置完成后再安装。
2、 配置Tomcat集群
2.1 修改Tomcat默认应用
删除$CATALINA_HOME/webapps和$CATALINA_HOME/temp目录;
将文件夹$CATALINA_HOME/conf/Catalina改名为Standalone。
2.2 添加ROOT应用
2.3 修改server.xml
2.4 修改web.xml
或者
设置集群,session共享。
3、 配置Apache HTTP代理,实现负载均衡
有三种方法实现Tomcat的负载均衡:
a. 使用JK本地连接器(Tomcat-Apache通信插件,JServ->JK->JK2->AJServP);
b. 使用2.x版本的Aache HTTP服务器的代理模块;
c. 使用Tomcat的blancer web应用。
至此,Apache和Tomcat已经安装、配置完毕,可以依次运行两个Tomcat(/bin/startup.bat)和Apache程序(Apache Monitor)。
注:
(1) 若系统设置了系统变量CATALINA_HOME,需修改/bin/startup.bat,屏蔽下面的代码:
#if not "%CATALINA_HOME%" == "" goto gotHome
(2) Apache只是一个代理服务器,所有的请求全部转至Tomcat处理,故启用ROOT应用。
4、 优化Tomcat配置
4.1 屏蔽HTTP Connector
4.2 配置虚拟主机
4.2.1 编辑server.xml的Engine,添加Host信息
4.2.2 创建虚拟主机对应的Webapp目录
4.2.3 创建虚拟主机
另一个Tomcat Node也做类似的修改,并分别重启两个Tomcat。
4.3 配置GBK编码
5、测试程序
访问 http://localhost/init.jsp?name=HAHA(只须执行一次)
访问 http://localhost/testRoute.jsp
访问多次就可以发现,两个Tomat服务器是均衡的,且session共享。
另外,还可以设置路由JSESSIONID
参考资料
Apache Proxy Module http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
Apache Balancer Module http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html
Tomcat 5.5 Load Balancer http://tomcat.apache.org/tomcat-5.5-doc/balancer-howto.html
Tomcat 5.5 Clustering/Session Replication http://tomcat.apache.org/.../cluster-howto.html
Apache Tomcat 5.5 Proxy http://tomcat.apache.org/tomcat-5.5-doc/proxy-howto.html
(全文完)
[补][推荐]Apache HTTP Server 与 Tomcat 的三种连接方式介绍(刘 冬@IBM) http://www-128.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/index.html
posted on 2007-04-23 16:56 Xu Jianxiang 阅读(1469) 评论(6) 编辑 收藏 所属分类: Open Source 、Server Side
0、工作原理
1、软件准备
1.1 软件条目
1.2 安装JDK
1.3 安装Tomcat
1.4 安装Apache
2、配置Tomcat集群
2.1 修改Tomcat默认应用
2.2 添加ROOT应用
2.3 修改server.xml
2.4 修改web.xml
3、配置Apache HTTP代理
4、优化Tomcat配置
4.1 屏蔽HTTP Connector
4.2 配置虚拟主机
4.3 配置GBK编码
5、测试程序
0、工作原理
Apache(HTTP Server)2.2新增了代理服务器(Proxying)功能:新的代理均衡模块(mod_proxy_balancer)提供负载均衡服务;AJP 1.3(Apache JServ Protocol)替代jk/jk2等连接器与Tomcat通信。
结合Tomcat的集群(Cluster)功能,服务器结构如下:
Load Balancer(Apache 2.2 Proxy) / / Cluster1 Cluster2 / / / / Tomcat1 Tomcat2 Tomcat3 Tomcat4 |
1、 软件准备
1.1 软件条目
操作系统 WinXP/Win2003 |
JDK_5.0 http://java.sun.com/javase/downloads/index_jdk5.jsp (MSI Installer) Apache_2.2.4 http://httpd.apache.org/download.cgi (MSI Installer) Tomcat_5.5.23 http://tomcat.apache.org/download-55.cgi (Core Zip) |
安装至目录 D:/Java/jdk1.5.0 下,设置JAVA_HOME/CLASSPATH/PATH,略。
1.3 安装Tomcat
解压缩Zip文件至目录 D:/Apache/Tomcat 5.5.23_S1 下;待配好后,复制到D:/Apache/Tomcat 5.5.23_S2,修改相关的端口和路径。
1.4 安装Apache
安装至目录 D:/Apache/Apache2.2 下,可在Tomcat集群配置完成后再安装。
2、 配置Tomcat集群
2.1 修改Tomcat默认应用
删除$CATALINA_HOME/webapps和$CATALINA_HOME/temp目录;
将文件夹$CATALINA_HOME/conf/Catalina改名为Standalone。
2.2 添加ROOT应用
$CATALINA_HOME/conf/Standalone/localhost/ROOT.xml |
<?xml version=”1.0” encoding=”utf-8”?> <Context path=”” docBase=”E:/Project/wwwroot” displayName=”Tomcat 1” debug=”0” privileged=”true” antiResourceLocking=”false” antiJARLocking=”false”> <!—Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> </Context> |
$CATALINA_HOME/conf/server.xml | |||
操作步骤 | 默认 | Tomcat 1 | Tomcat 2 |
2.3.1 修改Server端口 | 8005 | 10005 | 20005 |
2.3.2 修改AJP Connector端口 Apache JServ Protocol 1.3 | 8009 | 10009 | 20009 |
2.3.3 修改HTTPConnector端口 | 8080 | 10001 | 20001 |
2.3.4 修改redirectPort端口 | 8443 | 10043 | 20043 |
2.3.5 屏蔽Catalina,打开Standalone,并修改jvmRoute的值为Tomcat1/Tomcat2 | |||
2.3.6打开Cluster,修改tcpListenPort | 4001 | 10011 | 20011 |
$CATALINA_HOME/conf/web.xml |
(添加)<distributable/> |
$CATALINA_HOME/conf/Standalone/*/ROOT.xml |
(设置)<Context distributable="true" …/> |
3、 配置Apache HTTP代理,实现负载均衡
有三种方法实现Tomcat的负载均衡:
a. 使用JK本地连接器(Tomcat-Apache通信插件,JServ->JK->JK2->AJServP);
b. 使用2.x版本的Aache HTTP服务器的代理模块;
c. 使用Tomcat的blancer web应用。
$APACHE_HOME/conf/httpd.conf |
# 添加下面这段代码 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_http_module modules/mod_proxy_http.so ProxyRequests Off ProxyPass / balancer://myCluster/ <Proxy balancer://myCluster/> BalancerMember ajp://localhost:10009 route=Tomcat1 BalancerMember ajp://localhost:20009 route=Tomcat2 </Proxy> |
注:
(1) 若系统设置了系统变量CATALINA_HOME,需修改/bin/startup.bat,屏蔽下面的代码:
#if not "%CATALINA_HOME%" == "" goto gotHome
(2) Apache只是一个代理服务器,所有的请求全部转至Tomcat处理,故启用ROOT应用。
4、 优化Tomcat配置
4.1 屏蔽HTTP Connector
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <!-- <Connector port="8080" …/> --> |
<!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <!-- <Connector port="8443" …/> --> |
4.2.1 编辑server.xml的Engine,添加Host信息
$CATALINA_HOME/conf/server.xml |
<Engine name="Standalone" defaultHost="localhost" jvmRoute="Tomcat1"> <Host name="localhost" appBase="webapps" …>… …</Host> <Host name="www.site.com" appBase="webapps/www.site.com"/> <Host name="www.site.net" appBase="webapps/www.site.net"/> </Engine> |
$CATALINA_HOME/webapps/www.site.com $CATALINA_HOME/webapps/www.site.net |
均为空目录 |
$CATALINA_HOME/conf/Standalone/www.site.com/ROOT.xml $CATALINA_HOME/conf/Standalone/www.site.net/ROOT.xml |
<?xml version="1.0" encoding="utf-8"?> <Context path="" docBase="E:/Project/{site name}" …> <WatchedResource>WEB-INF/web.xml</WatchedResource> </Context> |
4.3 配置GBK编码
$CATALINA_HOME/conf/server.xml |
<!-- Define an AJP 1.3 Connector on port 10009 --> <Connector port="10009" URIEncoding="GBK" enableLookups="false" redirectPort="10443" protocol="AJP/1.3" /> |
init.jsp |
<% session.setAttribute("name",request.getParameter("name")); out.println("success!" + session.getId()); %> |
testRoute.jsp |
<% String test = session.getId() + " - " + session.getAttribute("name"); System.out.println( new java.util.Date() + ":" + test); out.println( test ); %> |
访问 http://localhost/testRoute.jsp
访问多次就可以发现,两个Tomat服务器是均衡的,且session共享。
另外,还可以设置路由JSESSIONID
$CATALINA_HOME/conf/server.xml |
<!-- sessionIdAttribute default attribute name is org.apache.catalina.cluster.session.JvmRouteOrignalSessionID. JSESSIONID.{orignal node id} à <Valve className="org.apache.catalina.cluster.session.JvmRouteBinderValve" enabled="true" sessionIdAttribute="takeoverSessionid"/> <ClusterListener className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" /> |
参考资料
Apache Proxy Module http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
Apache Balancer Module http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html
Tomcat 5.5 Load Balancer http://tomcat.apache.org/tomcat-5.5-doc/balancer-howto.html
Tomcat 5.5 Clustering/Session Replication http://tomcat.apache.org/.../cluster-howto.html
Apache Tomcat 5.5 Proxy http://tomcat.apache.org/tomcat-5.5-doc/proxy-howto.html
(全文完)
[补][推荐]Apache HTTP Server 与 Tomcat 的三种连接方式介绍(刘 冬@IBM) http://www-128.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/index.html
posted on 2007-04-23 16:56 Xu Jianxiang 阅读(1469) 评论(6) 编辑 收藏 所属分类: Open Source 、Server Side
相关文章推荐
- Windows 2003下配置Apache代理Tomcat集群
- Windows 2003下配置Apache代理Tomcat集群
- Windows 2003下配置Apache代理Tomcat集群
- 在Windows 2003 IIS 6.0中配置PHP的运行环境(图)
- Windows 2003服务器安全配置终极技巧 3
- Windows2000 server和windows 2003下的Apache2.0.47与Tomcat5.0.4的整合配置方法
- Windows 2003 Server R2下DFS配置攻略
- 如何把Windows 2003配置为NAT路由器?
- Windows 2003 下分布式事务协调器(DTC)的配置
- Windows 2003下IIS php环境配置
- Windows 2003 Server 配置FTP服务器
- 如何(取消)关闭"windows 2003中ie增强的安全配置"?
- 十、Windows 2003 R2 安装,配置DNS
- Windows 2003上安装配置SVN服务器及客户端 结合别人的文章以及自己实践整理
- 加固基于Windows 2003平台的WEB服务器配置
- Windows 2003服务器群集(负载均衡)的基本配置要求
- SAN BOOT-用IBM BladeCenter HS20刀片服务器连接IBM FastT 700存储远程启动Windows 2003配置实例