初识Nginx

Nginx的历史

Netcraft公司,1994年在英国成立。

常见服务器

  • Apache服务器:目前最广泛使用的web服务器,由于使用了以“进程”为基础的结构,会消耗更多的系统开支。因此通常对Apache web进行扩容的时候,是增加服务器或者扩充集群节点而不是增加处理器。
  • Microsoft IIS:微软的,付费软件,部署成本较高。
  • Tomcat服务器:最初Sun公司开发,是官方推荐的Servlet和JSP容器,在中小型系统和并发访问用户不是很多的时候,可以作为轻量级应用服务器。一般应用中,通常作为Apache服务器的扩展部分,为运行JSP页面和Servlet提供服务,提供的Servlet容器是Tomcat的默认模式。Tomcat也具有处理HTML页面的功能,只是处理静态页面的能力不如Apache服务器。
  • Lighttpd服务器:德国开源的一个轻量级web服务器,它专门针对高性能网站,提供一种安全、快速、兼容性良好并且灵活的Web Server的环境。同时有非常低的内存开销、CPU占用率低、模块丰富。 但是最为轻量服务器,与Apache这种大型服务器相比还有差距。
  • Nginx

Nginx的功能特性

基本的HTTP服务:
  • 作为HTTP代理服务器和反向代理服务器
  • 支持通过缓存加速访问
  • 完成简单的负载均衡和容错
  • 支持包过滤
  • 支持SSL
    高级HTTP服务:
  • 进行自定义配置
  • 支持虚拟主机
  • 支持URL重定向
  • 支持网络监控
  • 支持流媒体传输
    邮件服务:
  • 支持IMAP/POP3代理服务
  • 支持内部SMTP代理服务

常用功能

HTTP代理和反向代理

在反向代理服务方面,Nginx服务器转发前端请求性能稳定,并且后端转发与业务配置相互分离,配置相当灵活。

负载均衡

负载均衡:一是将单一的重负载分担到多个网络节点做并行处理,每个节点处理结束后将结果汇总返回给用户;二是讲大量的前端并发访问或数据流量分担到多个后端网络节点上分别处理,有效减少前端用户等待响应的时间。Nginx服务器的负载均衡主要是对大量的前端访问和流量进行分流,以保证前端用户的访问效率。

Nginx服务器的负载均衡策略可以划分为两类:

  • 内置策略:轮询、加权轮询和IP hash
  • 扩展策略:通过第三方模块实现,常见:url hash、fair
Web缓存