Skip to content

Nginx简介

1. Nginx介绍

Nginx (engine x)是完全使用C语言开发的程序,是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。

2. Nginx发展历史

  1. Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
  2. 2011年6月1日,nginx1.0.4发布。

3. Nginx核心技术

  1. 基于事件模型,底层使用多路复用I/O的epoll模式。
  2. 使用零拷贝技术可以将数据从文件系统直接发送到网络套接字中,而不需要中间的内存拷贝(好处是可以减少CPU的使用量,减少内存带宽的消耗)。

4. Nginx分支

常用版本分为四大阵营:

  1. Nginx开源版 官网地址:http://nginx.org/
  2. Nginx plus商业版 官网地址:https://www.nginx.com
  3. Openresty
    官网地址:http://openresty.org
  4. Tengine
    官网地址:http://tengine.taobao.org/

5. Nginx和Apache区别

特点NginxApache
并发处理高并发处理能力,
轻量级且低内存消耗
对静态文件处理高效,
但在高并发情况下内存消耗较大
资源占用占用更少的系统资源和内存占用较多的系统资源和内存
事情驱动使用事件驱动模型,
可在较少的线程上同时处理多个连接
使用多线程模型,
会为每个连接创建一个线程
配置灵活性配置简单明了,
易于阅读和维护
配置相对复杂,
需要更多的配置项指定
扩展性支持动态模块和第三方扩展,
可自定义功能
支持动态模块和第三方扩展,
但相对Nginx更少
虚拟主机支持无限个虚拟主机配置,
每个虚拟主机独立配置
支持无限个虚拟主机配置,
但每个虚拟主机使用同一套配置
模块支持支持反向代理、负载均衡、
HTTP缓存等
支持反向代理、负载均衡、SSL等
用户群体更适合高并发、网络应用场景,
如反向代理、负载均衡
更适合传统Web服务器应用,
如静态内容和PHP