一、常见的“服务器中间件”(即http server-web中间件)有哪些
Tomcat、Jboss、Apache、WeBlogic、Jetty、webSphere、Nginx、IIS
二、nginx的特点
1.性能高,能承受5万并发每秒;
2.内存、磁盘,读取消耗空间小。
三、nginx的作用
1.作为web服务器
特点
具有动静分离的特点,和tomcat等其他web服务器配合使用。
过程
1)nginx接受到用户请求;
2)如果用户是访问静态资源(如html、javascript、css、图片、视频等,都是放在服务器文件系统,比如D盘下的某个文件夹里),就直接返回文件系统里的资源;
3)如果用户是访问的是动态资源,就会将请求转发給tomcat服务器,请求其webapp目录下的应用程序,从而返回程序处理后的动态结果;
好处
实现动静分离,提高程序的响应速度。
2.做反向代理
反向代理的原理:
如上图所示, nginx管理三个tomcat集群。代理用户的请求,然后把请求转发给任意一个合适的tomcat服务器。
反向代理的好处:
1)具有安全隐蔽性
隐藏了真正在幕后处理请求的tomcat服务器ip地址,在所有用户看来都是www.baidu.com在处理;
2)实现了负载均衡
好处:
- 减轻了单个tomcat服务器的压力。比如说,一个tomcat承受不了5w的并发访问,但是nginx可以。nginx通过算法,把5w的访问请求转发给管理的tomcat集群各个tomcat。比如让tomcat服务器1处理1w请求,tomcat服务器2处理2w请求,tomcat服务器3处理2w请求;
- 便于tomcat集群的动态扩容(动态上下线tomcat服务器)。比如双十一秒杀活动,访问增大,就多加几台tomcat。活动结束了就少几台。反正nginx统一管理也方便。
nginx的负载均衡算法:
轮询、权重、hash等
3.作为邮件(IMAP/POP3/SMTP)服务器
四、nginx的高可用
实现方式
多个nginx作主从集群,通过keepalive实现
好处
一台nginx挂了,可以切换到另外的nginx,避免单点故障