1 Nginx介绍
Nginx是一个高性能的http和反向代理服务器,及电子邮件代理服务器
可实现高效的 反向代理和负载均衡
2 Nginx作用
反向代理,将多台服务器代理成一台服务器
负载均衡,将多个请求均匀分配到多台服务器上,减轻服务器的压力,提高服务的吞吐量
动静分离,静态文件页面等的缓存服务器,提高访问速度,客户体验更好
3 Nginx的优势
可以高并发连接(5万并发量,实际也有2~4万)
内存消耗少
成本低廉
配置文件非常简单
支持Rewrite重写
内置的健康检查功能
节省带宽
稳定性高
支持热部署
4 反向代理概念
反向代理指的是一个代理服务器来接收Internet上的连接请求,然后将请求发给内部网络的服务器,并将内部服务器返回的结果返回给Internet上的请求连接的客户端,此时代理服务器对外表现为反向代理服务器;
总之反向代理中,被代理的对象是服务端服务器
5 正向代理概念
正向代理指的是一个位于客户端服务器和目标服务器之间的中间服务器,客户端想请求目标服务器的数据资源,通过中间服务器转发请求,得到响应,此时这个中间服务器就是正向代理服务器;
总之正向代理中,被代理的服务器是客户端服务器
6 负载均衡概念
负载均衡指的是代理服务器将接收到的请求,按照设定好的均衡策略分给各个服务器,作用有异步,解耦,削峰,异步提高服务器响应速度,解耦提高了减轻服务器压力,削峰解决了网络拥堵问题
7 Nginx如何处理请求
启动时解析配置文件得到需要监听的端口和ip地址
Nginx中的master进程初始化监控的socket套接字,进行listen监听
fork复制出多个子进程,子进程竞争accept连接新的连接请求
此时客户端向Nginx发送请求发起连接
当客户端和Nginx三次握手建立连接后,某个子进程抢到连接accept成功
子进程创建Nginx对连接的封装,即ngx_connection_t结构体
根据时间调用机制调响应的时间处理模块处理返回结果
最后,Nginx或客户端主动断开连接
8 Nginx的高性能支持
Nginx的高性能得益于它的事件处理机制:异步非阻塞处理机制
运用了epoll模型,提供了一个队列,排队进行处理