1、apache和tomcat区别:
Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等) 。
Tomcat是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器。
apache只支持静态页,tomcat支持动态的,比如servlet等。一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的,在apache后台支撑,将java请求由apache转发给tomcat处理。apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行。
在开发中:
tomcat调优:nginx动态的转给tomcat,nginx是不能keepalive的,而tomcat端默认开启了keepalive,会等待keepalive的timeout,默认不设置就是使用connectionTimeout。
所以必须设置tomcat的超时时间,并关闭tomcat的keepalive。否则会产生大量tomcat的socket timewait。
maxKeepAliveRequests="1"就可以避免tomcat产生大量的TIME_WAIT连接,从而从一定程度上避免tomcat假死。