Windows 2003下配置Apache代理Tomcat集群
2009-02-20 11:52
537 查看
索引
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
转自:http://blog.csdn.net/jxluoix/archive/2008/09/30/2999168.aspx
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
转自:http://blog.csdn.net/jxluoix/archive/2008/09/30/2999168.aspx
相关文章推荐
- Windows 2003下配置Apache代理Tomcat集群
- Windows 2003下配置Apache代理Tomcat集群
- Windows中Apache2.2 Tomcat7 集群配置
- Windows 2003服务器集群配置
- windows下配置tomcat集群
- windows下nginx 配置 tomcat 集群
- Windows 2003 Server 网络负载均衡 + Tomcat 5.0 集群
- Windows2000 server和windows 2003下的Apache2.0.50与Tomcat5.0.27的整合配置方法
- Nginx+Memcached+Tomcat集群配置(Windows平台)
- 手把手教你配置Windows 2003集群
- Windows2000 server和windows 2003下的Apache2.0.47与Tomcat5.0.4的整合配置方法
- Windows下配置Nginx+Tomcat配置集群负载均衡
- Windows 2003下配置Apache代理Tomcat集群
- Windows2000 server和windows 2003下的Apache2.0.47与Tomcat5.0.4的整合配置方法
- Windows下用Nginx+Tomcat配置集群负载均衡
- nginx配置二级域名访问集群tomcat和nginx windows版安装 启动
- Windows下Nginx+tomcat配置集群负载均衡
- Nginx+Tomcat配置集群负载均衡(windows)
- windows下nginx+tomcat集群配置笔记
- Apache负载均衡与Tomcat集群配置学习(Windows环境)