初步了解Nginx

Nginx是轻量级的web服务器,用于反向代理服务器;内存占用少,启动极快,高并发能力强。


    1、正向代理  代理客户端,对服务器透明(服务器不知道你使用了代理)

    2、反向代理  代理服务器,对客户端透明

服务器启动Nginx后,在80端口开启socket监听    

一、Master-Worker模式 

    1、Master进程 

        读取并验证nginx.conf;管理Worker进程。

    2、Worker进程

        每一个Worker进程维护一个线程,处理连接和请求;worker进程数由nginx.conf决定,大部分时候取决于CPU的个数相关。

二、热部署

有两种方案,Nginx采取了第二种方案

    1、master进程读取修改nginx.conf,并推送至worker进程,worker进程更新内部信息

    2、master进程读取修改nginx.conf,创新生成新的worker进程,对于新的请求采用新的worker进程处理,老的worker进程处理完原先的请求之后被kill掉

三、高并发下高效处理

    Nginx采用了Linux的epoll模型,这是基于事件驱动机制,可监控多个事件是否准备完毕,如果准备完毕,则将其放入epoll队列中,这个过程是异步的。worker进程只需要从epoll队列中循环处理即可

四、高可用

采用Keepalived+Nginx实现高可用(防止Nginx挂掉)

    1、Request不要直接传入Nginx,先通过Keepalived(虚拟IP,VIP)

    2、Keepalived应能够监控Nginx的生命状态(通过脚本文件定时检查Nginx进程状态)



猜你喜欢

转载自blog.csdn.net/ice_cap1995/article/details/79826778