Apache HTTP Server与Tomcat整合学习记录 (2)

Apache HTTP Server与Tomcat整合学习记录

<!-- Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

第一个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。

第二个连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。AJP连接器可以通过AJP协议和一个web容器进行交互。

关于proxy、proxy_blancer和mod_jk的比较

proxy的缺点是,当其中一台tomcat停止运行的时候,apache仍然会转发请求过去,导致502网关错误。但是只要服务器再启动就不存在这个问题。

mod_jk方式的优点是,Apache 会自动检测到停止掉的tomcat,然后不再发请求过去。
缺点就是,当停止掉的tomcat服务器再次启动的时候,Apache检测不到,仍然不会转发请求过去。

proxy和mod_jk的共同优点是.可以只将Apache置于公网,节省公网IP地址资源。
可以通过设置来实现Apache专门负责处理静态网页,让Tomcat专门负责处理jsp和servlet等动态请求。
共同缺点是:如果前置Apache代理服务器停止运行,所有集群服务将无法对外提供。

proxy和mod_jk对静态页面请求的处理,都可以通设置来选取一个尽可能优化的效果。
mod_proxy_balancer和mod_jk都需要修改tomcat的配置文件配合
<Engine defaultHost="localhost" jvmRoute="tomcat1">

这三种Tomcat集群方式对实现最佳负载均衡都有一定不足,mod_proxy_balancer和mod_jk相对好些,mod_jk的设置能力更强些。lbfactor参数来分配请求任务。

apache自带mod_proxy功能模块中目前只可以实现两种不同的负载均衡集群实现方式,第一种是分工合作的的形式,通过各台主机负责不同的任务而实现任务分工。第二种是不同的机器在担任同样的任务,某台机器出现故障主机可以自动检测到将不会影响到客户端,而第一种却不能实现但第一种实现方式的优点在于他是主服务器负担相应没第二种大因为台只是提供跳转指路功能,形象的说他不给你带路只是告诉你有条路可以到,但到了那是否可以看到你见的人他已经不会去管你了。相比之下第二种性能要比第一种会好很多;但他们都有个共同点都是一托N形式来完成任务的所以你的主机性能一定要好。

关于apache整合tomcat部署集群

可参考该博文:apache整合tomcat部署集群

Tomcat优化(未亲测)
在service.xml文件里加入

maxThreads="800" minSpareThreads="25" maxSpareThreads="700" enableLookups="false" acceptCount="1200"

maxThreads=”150” 表示最多同时处理150个连接
minSpareThreads=”25” 表示即使没有人使用也开这么多空线程等待
maxSpareThreads=”75” 表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。
acceptCount=”100” 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接

Apache+Tomcat配置测试
测试Tomcat
首先空项目跑一下,看tomcat能否正常启动
然后加项目跑一下,看tomcat能否正常启动

测试Apache
Tomcat启动后重启一下Apache服务,看能否启动
注意:Apache有可能启动不起来,那么解决方式是查看Apache安装目录下的logs目录下的error.log文件,
根据log文件解决可能存在的问题。直到Apache可以正常启动,至此Apache就可以正常启动了。

测试负载均衡
写一个测试jsp放置于项目中,运行一下,看控制台输出

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxwwd.html