数据库
MySQL
ORACLE
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
Linux运维
中间件
shell脚本
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
首页 动态 发帖 版块 我的
 退出
游客  
等级:
金豆:
经验:
首页  /  运维工程师面试题  /  正文

简述Nginx如何处理HTTP请求?

  341 
 0
 1

首先,Nginx 在启动时,会解析配置文件,获取需要监听的端口与 IP 地址,然后在 Nginx 的 Master 进程里面先初始化好这个监控的Socket(创建 Socket,设置 addr、绑定ip和端口,然后listen 监听)。

然后,再 fork 出多个子进程出来。

之后,子进程会竞争 accept 新的连接。此时,客户端就可以向 nginx 发起连接了。当客户端与nginx完成TCP三次握手,与 nginx 建立好一个连接后。此时,某一个子进程会 accept 成功,得到这个建立好的连接的 Socket ,然后创建 nginx 对连接的封装。

接着,设置读写事件处理函数,并添加读写事件来与客户端进行数据的交换。

最后,Nginx 或客户端来主动关掉连接,完成整个HTTP请求的处理。


标签:
作者签名: 只有努力,才会有收获   楼主  2022-07-19 22:04:21
回复列表
合作伙伴:
Powered by 运维术 8.4.13
© 2017-2024 模板 by 黑衣人
您的IP: 3.144.235.141 , 2024-11-21 22:54:50
Powered by 运维术 8.4.13
© 2017-2024 模板 by 黑衣人
(1) 分享
分享
取消
我的客服