Nginx请求处理流程
分析上图:
- Nginx大致会处理三种流量:WEB,EMAIL,TCP流量。
- Nginx中三个大的状态机:处理TCP、UDP的传输层状态机,处理应用层的HTTP状态机,处理邮件的MALL状态机。
- 当Nginx解析出请求需要访问静态资源的时候,会走左下方的流程,如果Nginx做反向代理的时候,将请求的资源缓存在磁盘也是这条线。
- 对于每个处理完成的请求,出记录Access日志,出错的情况下,还会记录Error日志,这会走右下方的流程。
- Nginx做反向代理或者负载均衡的时候,可以通过HTTP,MAIL即stream(TCP)等协议传输给后端服务器,
- 也可以通过应用层协议如FastCGI等代理到响应的应参层服务器,比如Nginx解析PHP文件请求的时候,会将请求通过FastCGI协议交给php应用程序处理。