Nginx介绍

Nginx 读音'Engine X',很多工程师也喜欢读成'恩基克思'。nginx是一款高性能的HTTP和反向代理服务器软件,第一个开源版本诞生于2004年,虽然诞生较晚但经过十多年的发展,已经成为非常流行的web服务器软件

Nginx 和 Apache 相同点:

  • 同是HTTP服务器软件,都采用模块化结构设计

  • 支持通用语言接口,如PHP,Python等

  • 支持正向代理和反向代理

  • 支持虚拟主机及ssl加密传输 

  • 支持缓存及压缩传输

  • 支持URL重写

  • 模块多,扩展性强

  • 多平台支持

  • 同是HTTP服务器软件,都采用模块化结构设计

  • 支持通用语言接口,如PHP,Python等

  • 支持正向代理和反向代理

  • 支持虚拟主机及ssl加密传输 

  • 支持缓存及压缩传输

  • 支持URL重写

  • 模块多,扩展性强

  • 多平台支持

Nginx的优势

  • 轻量级  安装文件小 运行时CPU内存使用率低

  • 性能强 支持多核,处理静态文件效率高,内核采用的poll模型最大可以支持50K并发连接

  • 支持热部署  同时启动速度快,可以在不间断服务的情况下对软件和配置进行升级

  • 负载均衡 支持容错和健康检查

  • 代理功能强大 支持无缓存的反向代理,同时支持IMAP/POP3/SMTP的代理

 Nginx 的劣势 

  • 相比Apache 模块要少一些,常用模块都有了,而且支持LUA语言扩展功能

  • 对动态请求支持不如apache

  • Windows 版本功能有限 ,受限于windows的特性,支持最好的还是*unix系统

Nginx工作原理

Nginx由内核和一系列模块组成,内核提供web服务的基本功能,如启用网络协议,创建运行环境,接收和分配客户端请求,处理模块之间的交互。Nginx的各种功能和操作都由模块来实现。

Nginx的模块从结构上分为核心模块、基础模块和第三方模块。

  • 核心模块: HTTP模块、EVENT模块和MAIL模块

  • 基础模块: HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块

  • 第三方模块: HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块及用户自己开发的模块

评论

© 走过岁月...... | Powered by LOFTER