`
withoutme_hw
  • 浏览: 9461 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

使用Apache+Tomcat构建应用服务器集群

 
阅读更多

1.安装Apache HTTP server:http://httpd.apache.org/

2.安装2-3个(或更多)Tomcathttp://tomcat.apache.org/,安装zip版,因为安装多个Windows Service Installer版会出现错误(可以安装一个Installer版,其他两个用zip版)。

3.配置3个Tomcat,使得3个Tomcat在一台机器上可以同时运行:

修改三个Tomcat安装目录下的bin/startup.bat,将其中的CATALINA_HOME环境变量修改成互不相同的名字,比如CATALINA_HOME1,CATALINA_HOME2,CATALINA_HOME3。

4.配置集群

1) 修改Apache安装目录下的conf/httpd.conf文件,在文件末尾加入如下几行8009,9009,9099分别是三个Apache用来于Tomcat连接的端口oadfactor是指每一个tomcat的负载系数。

2) 修改Tomcat下的conf/server.xml

a.将所有3个Tomcat的server.xml中的

<Engine name="Catalina" defaultHost="localhost">

修改为<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">,3个tomcat的jvmRoute分别为jvm1,jvm2,jvm3

b.修改所有3个server.xml中的<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />,将8009端口改为与上面Apache中配置的三个端口一致(这点很重要!),与上面配置的jvm1,jvm2也要一致。也就是说,配置为jvm1的,这里端口改为8009,配置为jvm2的tomcat,这里端口给为9009,jvm3的为9099。

c.修改server.xml中的所有其他端口,使得3个tomcat没有重复的端口,包括:<Server port="8005",<Connector port="8080",redirectPort="8443" 这三个,三个tomcat的这三个端口都要不一样,其中每个tomcat中有两个redirectPort,同一个tomcat中的redirectPort一样,不同tomcat中的redirectPort不一样。

4.现在,集群就应该已经正确的构建完毕,访问Apache(localhost,端口为80)时,Apache就会将请求转发给这3个tomcat中的一个,可以自己写一个JSP或者servlet试试,注意,三个tomcat中的webapp下面都需要有一份JSP/servlet。

5.写一个实验程序(servlet),发布到3个tomcat上,写一个客户端程序,多线程并发访问Apache,观察三个tomcat的负载均衡情况(可以调节一下loadfactor再观察),并绘制在线程越来越多的情况下,响应时间曲线。

由于规模较小的计算,响应时间非常快,可以忽略。所以选择一个计算量较大的运算: 判断一个数是否为素数,Sevlet代码如下:,客户端的线程代码如下:,客户端界面以及生成多线程、绘制响应时间曲线代码如下(使用SWT,如果要运行,需要使用eclipse.org的SWT包):,运行后,三个tomcat的控制台都会输出结果,说明请求被分发给三个tomcat,运行1-75个线程的响应时间曲线如下:

分享到:
评论

相关推荐

    基于ssm+shiro+redis+nginx tomcat服务器集群管理项目源码+项目说明.zip

    基于ssm+shiro+redis+nginx tomcat服务器集群管理项目源码+项目说明.zip Introduction ==== 1.搭建一个最简洁,模块划分最明确的ssm+swargger+shiro+redis+nginx整合项目,采用maven作为构建工具,在有新项目开发时...

    低清版 大型门户网站是这样炼成的.pdf

    1.2.5 支持集群功能的web服务器tomcat 21 1.2.6 开源数据库服务器之骄子mysql 23 1.2.7 功能强大的flv流媒体服务器red5 24 1.3 门户网站开发指导思想 26 1.4 ssh 2组合框架—门户网站开发之首选 28 1.4.1 mvc...

    Linux云计算运维-全集

    Ansible自动化运维平台 ...Web服务器-Apache Web服务器-Nginx Web服务器-Tomcat 部署高可用集群 构建可视化数据分析系统-ELK 企业级监控系统-Zabbix 容器监控-Prometheus 数据安全之企业存储 虚拟化之KVM

    Linux运维工程师私人笔记,全部MD格式

    Ansible自动化运维平台...Web服务器-Apache Web服务器-Nginx Web服务器-Tomcat 部署高可用集群 构建可视化数据分析系统-ELK 计算机网络基础 企业级监控系统-Zabbix 容器监控-Prometheus 数据安全之企业存储 虚拟化之KVM

    Linux云计算运维笔记

    Ansible自动化运维平台...Web服务器-Apache Web服务器-Nginx Web服务器-Tomcat 部署高可用集群 构建可视化数据分析系统-ELK 计算机网络基础 企业级监控系统-Zabbix 容器监控-Prometheus 数据安全之企业存储 虚拟化之KVM

    Jetty中文手册

    使用构建工具 如何在Maven中使用Jetty 如何在Ant中使用Jetty Maven和Ant的更多支持 Jetty Maven插件(Plugin) Jetty Jspc Maven插件(Plugin) Maven web应用工程原型 Ant Jetty插件(Plugin) 使用集成开发环境...

    2023国赛 网络建设与运维正式赛卷

    还包括对DFS服务、ASP服务、打印服务、Nginx和Tomcat服务、Samba服务、iSCSI服务等多种IT基础设施的服务搭建和安全管理,以及Linux服务器的CA认证、Ansible自动化运维、Apache和IIS web服务器配置、Samba和NFS共享...

    java开源包8

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    playce-dolly

    雅典娜多莉Athena-Dolly是一个独立于WAS的会话群集解决方案,目前支持Apache Tomcat 6/7,JBoss EAP 6和WebLogic 11,并且该支持将在将来扩展到各种WAS,例如Jeus和WebSphere。 雅典娜多莉的特点异构WAS之间的会话...

    java开源包1

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包11

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包2

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包3

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包6

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包5

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包10

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包4

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包7

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包9

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

Global site tag (gtag.js) - Google Analytics