nginx-king teacher

nginx -c conf/nginx.conf  # 开启了http协议的初始化

读nginx源码,从conf开始,其次tcp server的初始化,http的状态机,最后是服务器的处理
1、processs 4
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

启动了四个work进程,
1、nginx三次握手是worker进程完成还是master进程完成?
worker进程没有监听80, master一开始监听80,是在listen完之后,
master process listen(80)
fork() 子进程, 子进程继承master
master和worker都有listen fd, 只有worker里面的listenfd加入epoll(), master不做处理,真正处理浏览器链接的是worker进程
在这里插入图片描述
结论:处理连接都是由worker进程处理。
在这里插入图片描述
在这里插入图片描述
epoll有个最大的特点,是有一个永真的死循环:
while(1){
if(shmem.mtx){ // 如果有进程在用fd
lock(shmem.mtx)就锁住当前fd
epoll_ctl(epfd, EPOLL_CTL_ADD, listenfd,ev);//加入到epoll
}
epoll_wait()
}
二、http模块
http {}
在这里插入图片描述

phase–》http的状态机
每个进程都处理两个server,都有两个listenfd。
在这里插入图片描述
上面的post是前面或之前的意思,
ngx_http_content_phase --> 对用户内容的处理,比如拉黑,
ngx拿到http头可以做重定向。server_rewrite_phase,
get 0voice/king http2.0
find_config_phase–>获取资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值