流程
- 用户访问域名->
- 在本地的hosts文件查找,如果找到就不去dns查询了
- 域名进行DNS解析->
- 请求到对应IP服务器和端口->
- nginx监听到对应端口的请求->
- nginx对url进行location匹配->
- 执行匹配location下的规则->
- nginx转发请求给php->
- php-fpm的master进程监听到nginx请求->
- master进程将请求分配给其中一个闲置的worker进程->
- worker进程执行请求->
- worker进程返回执行结果给nginx->
- nginx返回结果给用户
流程图
graph TD
A[用户访问域名] -->|访问页面| B(获取url)
B --> C{判断本地hosts是否有映射的ip与端口}
C -->|Y| D[获得ip与端口]
C -->|N| E[域名进行DNS解析]
D --> |请求|F[对应IP服务器和端口]
E --> |请求|F[对应IP服务器和端口]
F --> |监听到对应端口的请求|G[nginx]
G --> |url进行location匹配 请求php|H[php]
H --> |返回执行结果给nginx|G
G --> |将结果返回给用户|A