静态网页服务器软件
1.apach------中小型静态web服务器的主流,web服务器中的老大哥
2.nginx------大型新兴静态web服务器的主流
3.lighttpd
动态网页服务器软件
1.IIS (Internet Information Server) ------微软web服务器主流
2.tomcat------中小型动态web服务器
3.resin------大型动态web服务器
使用nginx+tomcat实现静态和动态页面的分离
运用nginx的反向代理功能分发请求:所有动态资源的请求交给tomcat,而静态资源的请求(例如图片、视频、CSS、JavaScript文件等)则直接由nginx返回到浏览器,这 样能大大减轻tomcat的压力。tomcat主要是负责处理servlet的,静态的文件还是交给nginx处理。
nginx优点:负载均衡、反向代理、处理静态文件优势。nginx处理静态请求的速度高于apache;
apache优点:相对于Tomcat服务器来说处理静态文件是它的优势,速度快。apache是静态解析,适合静态HTML、图片等。
tomcat:动态解析容器,处理动态请求,是编译JSP\Servlet的容器,nginx有动态分离机制,静态请求直接就可以通过nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。apache在处理动态有优势,nginx并发性比较好,CPU内存占用低,如果rewrite频繁,那还是apache较适合。
负载均衡
当业务压力增大时,可能一个tomcat的实例不足以处理,那么这时可以启动多个tomcat实例进行水平扩展,而nginx的负载均衡功能可以把请求通过算法分发到各个不同的实例进行处理。
反向代理的理解
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。