如何应对大量请求所造成的服务器性能下降、崩溃
- 应用逻辑优化
-
服务器优化
- 增强服务器处理能力
-
增加服务器
- 增加逻辑应用服务器(纵向扩展)
- 增加硬件服务器(水平扩展)
此处不打算介绍各种各种方式的优劣,下文展示的是如何纵向扩展,搭建Tomcat集群。
Tomcat集群访问示意图:
搭建Apache HTTP Server
我的建议是最好在虚拟机里面做,并且在安装Apache HTTP Server之前关闭IIS服务和IE。
安装完成之后,在此处启动HTTP Server。浏览器中输入http://localhost,如果有网页显示,则安装成功。
出击吧,喵咪们!~~~
进入到d:/apache/conf下,打开httpd.conf,找到DocumentRoot,修改为d:/webapps
继续找到
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
这一节点,修改为:
<Directory />
#Options FollowSymLinks
Options none
AllowOverride None
Order deny,allow
Allow from all
</Directory>
继续找到<Directory "D:/apache/htdocs">,修改为<Directory "D:/webapps">.
继续找到Options Indexes FollowSymLinks,修改为:Options none
然后在webapps文件夹下新建一个index.html,内容随便,重启apache服务,刷新http://localhost,应当显示为刚才的html页面。
-
下载mod_jk-1.2.31-httpd-2.2.3.so并复制到D:\apache\modules。
-
在httpd.conf文件最后一行追加
include conf/jk_mod.conf
-
在conf文件夹下新建jk_mod.conf文件,加入如下内容(注意注释换行问题):
#加载apache-tomcate模块
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
#集群相关参数的属性文件
JkWorkersFile conf/workers.properties
#日志相关配置
JkLogFile logs/mod_jk.log
JkRequestLogFormat "%w %V %T"
JkLogLevel info
#将后缀为X的请求交由controller处理
JkMount /*.jsp controller
jkMount /*.do controller
-
在conf文件夹下新建workers.properites文件,加入如下配置:
worker.controller.balance_workers=tomcat7_1,tomcat7_2
#-------controller---------------
worker.list=controller
worker.controller.type=lb
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#tomcat1
worker.tomcat7_1.port=8009
worker.tomcat7_1.host=localhost
worker.tomcat7_1.reference=worker.template
worker.tomcat7_1.lbfactor=1
#tomcat2
worker.tomcat7_2.port=9009
worker.tomcat7_2.host=localhost
worker.tomcat7_2.reference=worker.template
worker.tomcat7_2.lbfactor=1
#========template========
worker.template.type=ajp13
- 修改tomcat7_1/conf/server.xml文件。
找到:
<Engine name="Catalina" defaultHost="localhost">
改为:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat7_1">
将:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
的注释去掉,使其生效。
找到:
appBase="webapps"
改为:
appBase="d:/webapps"
复制此tomcat的webapps文件夹到d:webapps。此时重启tomcat,还是能够看到之前的管理页面。
复制tomcat7_1到同级目录,改名为tomcat7_2,修改tomcat7_2的server.xml文件,修改三个个以8开头的端口:8005->9005;8080->9080; 8009->9009。
同时将jvmRoute="tomcat7_1"改为:jvmRoute="tomcat7_2"
此时启动tomcat7_2,访问http://localhost:9080,即可看到tomcat7_2 的管理页面。
应该都可以访问到。
此时,所有配置完毕。
测试session是否被共享
启动两个tomcat,重启apache服务。访问http://localhost/test/index.jsp,每次刷新,你将看见两个tomcat"轮流"处理请求,而页面内session的值则是连续的,说明session被共享。
配置失败?
有一些原因会导致配置失败,这些永远很难在一篇文章内描述清楚,所以,遇到问题,及时google(其实我喜欢用百度,只是说google比较洋气点儿,呵呵)是必要的。
这里是一个直接就可以用例子
这是一个严重配置文件正确性的工具:
分享到:
相关推荐
apache server2.2 + tomcat7.0 服务器集群负载均衡+session共享 包括配套的软件和详细的配置文档。
1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。 2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat 3、 为系统屏蔽文件列表,包括 Apache 和 tomcat 注:本例程以一台机器...
上面的四个BalancerMember成员是我们配置的tomcat集群。后面会说明的 1.2、httpd-vhosts.conf设置 接下来进行虚拟主机的设置。APACHE的虚拟主机设置如下: 首先要修改 conf/httpd.conf找到 (#Include conf/extra/...
内附完整配置教程和修改后的apache的httpd.conf文件和tomcat的server.xml配置文件,包含test测试项目,不包含apache和tomcat安装文件。 本教程参考网上资料,本机测试成功,如有问题可以私信说明。
Apache和tomcat集群部署配置文件案例,包含Apache中的配置文件httpd.conf,mod_jk.conf,workers.properties,以及tomcat中配置文件server.xml
分别到两个tomcat下,直接双击D:\server\apache-tomcat-6.0.39_1\bin\startup.bat启动tomcat1 D:\server\apache-tomcat-6.0.39_2\bin\startup.bat启动tomcat2 出现以下页面表示启动成功 在浏览器中输入 ...
tomcat+apache实现集群/负载均衡,只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat, 集群内的tomcat都有相同的session1. 修改tomcat1, tomcat2的...
Tomcat和Apache集群和负载均衡配置 Tomcat版本:apache-tomcat-7.0.26 Apache版本:Apache2.2.25 jre版本:1.6.0_26 集群和负载均衡配置已整好,解压后,只要点击run.bat一键启动,即可看到集群效果。 运行成功后,...
1), VM虚拟机: VMware-workstation-full-10.0 (2),linux系统ubuntu-12.04.3-server-amd64 ...(6),tomcat: apache-tomcat-7.0.47 (7),mysql: 5.5.34-0ubuntu0.12.04.1 (8),测试工具:apache-jmeter-2.9
详细的配置文件示例,Apache2.4解压包,tomcat7解压包, mod_jk.so文件,Apache cof配置文件,workers.properties文件以及tomcat server.xml配置说明,及相关的部署文档总结,测试通过。
一、 目标实现高性能负载均衡的Tomcat集群: 二、步骤 1、首先下载Nginx,要下载稳定版: 2、然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2: 3、然后修改这两个Tomcat的...
12、CentOS安装apache + tomcat集群(一).... 124 12、CentOS安装apache + tomcat集群(二).... 131 常见问题:安装Apache提示APR not found的解决办法.... 135 常见问题:关于CentOS安装SAMBA服务器在windows...
本人电脑上已经配置好的相关配置文件 包括: tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip ...server.xml(tomcat) mod_jk.conf uriworkermap.properties vhosts.conf workers.properties
tomcat集群和负载均衡的实现 (1)在那台要安装apache的服务器上安装apache2.0.55,我的安装路径为默认C:\Program Files\Apache Group\Apache2 (2)安装后测试apache能否正常启动,调试到能够正常启动...
解决Apace2.4.x版本配置tomcat集群时启动apache报错:Cannot load modules/mod_jk.so into server: /apache/httpd/modules/mod_jk.so: wrong ELF class: ELFCLASS32
zookeeper的这个特性,我们可以给服务器集群中的所有机器(client)都注册watch事件,监控特定znode,节点中存储部署代码的配置信息,需要更新代码的时候,修改znode中的值,服务器集群中的每一台server都会收到代码...
5、在原有tomcat\config\server.xml 添加以下代码(参考) 注:标红的 为原有存在的. <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> ...
两个tomcat做node即tomcat1, tomcat2,使用Apache HttpServer做请求派发。 现在看看WebLogic的集群吧,其实也差不多。 区别在于: Tomcat的集群的实现为两个物理上不同的tomcat,分别就是两个node,没有总控端,...
Tomcat性能调优指导手册 1. 概述 3 2. Java虚拟机性能调优 3 2.1 catalina.sh 或 catalina.bat 3 ...6.2 集成Apache Server 6 6.2.1 配置负载均衡器 6 7. 启用APR库 11 8. 使用Jconsole监控 12 9. 调优综述 13
(第五天)之tomcat集群-群猫乱舞 (第六天)之漫谈基于数据库的权限系统的设计 (第七天)之漫谈使用ThreadLocal改进你的层次的划分 (第八天)之weblogic与apache的整合与调优 (第九天)之weblogic的集群与配置 ...