什么是Nginx?
Nginx概述
Nginx是俄罗斯人Igor Sysoev编写的轻量级Web服务器。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服务器。
Nginx特点
Nginx以事件驱动的方式编写,有非常好的性能
Nginx是非常高效的反向代理服务器和负载均衡服务器
Nginx在结构上的特点有:一个主进程和多个工作进程。
为什么要使用Nginx?
高性能、高稳定、低资源消耗
Nginx采用的是Master/works进程池机制,通常情况下,Nginx会启动一个Master进程和多个works进程,Master进程是监控进程,不处理具体的请求,只负责接收信号和管理works进程,works进程负责处理客户端的连接请求。充分利用了linux的epoll、kqueue等机制使的更快的响应客户端请求。
而且占用的资源很少,根据官方的测试,10000个连接仅占用2.5M内存。
具有高扩展性
由于Nginx的各个模块之间耦合度极低,在架构设计上具有很好的扩展性。
可以热部署
Nginx采用Master进程和Works进程的分离设计,使得整个系统可以24小时不间断的对外提供服务的前提下升级Nginx
Nginx实现热部署的原理:在不停止老进程的前提下,终止其连接请求,并启动新的 Worker 进程处理新进来的连接请求,再慢慢终止老的 Worker 进程,实现新老交替