请求一个网页时,web服务做了什么?[以php为例]

流程

  1. 用户访问域名->
  2. 在本地的hosts文件查找,如果找到就不去dns查询了
  3. 域名进行DNS解析->
  4. 请求到对应IP服务器和端口->
  5. nginx监听到对应端口的请求->
  6. nginx对url进行location匹配->
  7. 执行匹配location下的规则->
  8. nginx转发请求给php->
  9. php-fpm的master进程监听到nginx请求->
  10. master进程将请求分配给其中一个闲置的worker进程->
  11. worker进程执行请求->
  12. worker进程返回执行结果给nginx->
  13. 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
posted @ 2020-04-06 15:57  五个平均值  阅读(190)  评论(0编辑  收藏  举报