为什么多个进程同时监听了同一端口?? 400 报错
如题如图
追问一下:怎么保证一个请求过来,只被一个监听进程响应了!
1)因为nginx的worker进程都是master进程fork出来的,继承了监听句柄。
2)nginx实现了一个锁,work进程竞争,谁获取锁,谁accept连接。
######正解!######自己顶一下######1)因为nginx的worker进程都是master进程fork出来的,继承了监听句柄。
2)nginx实现了一个锁,work进程竞争,谁获取锁,谁accept连接。
1)因为nginx的worker进程都是master进程fork出来的,继承了监听句柄。
2)nginx实现了一个锁,work进程竞争,谁获取锁,谁accept连接。
1)因为nginx的worker进程都是master进程fork出来的,继承了监听句柄。
2)nginx实现了一个锁,work进程竞争,谁获取锁,谁accept连接。
可是按道理说一个端口可是有一个应用的多个进程同时占用,但只能被一个进程所监听的呀!
一般情况下都是master进程负责监听,将任务分配给不同的子进程,即使是master进程fork出来的,也只是或得那个socket的句柄,也并未真正获得监听句柄吧!
追问一下:多个进程可以监听同一个端口,岂不是不同的应用可以监听同一个端口!
能帮我写个简单的c例子么?
1)因为nginx的worker进程都是master进程fork出来的,继承了监听句柄。
2)nginx实现了一个锁,work进程竞争,谁获取锁,谁accept连接。
多个进程可以监听同一个端口,岂不是不同的应用可以监听同一个端口!
两个完全独立的进程 , 和 fork 出来的父子进程是有区别的吧。 再说我觉得和进程池有 点类似,图已经表明
在accept 之前你 fork 一堆子进程,在子进程内进行 accept 应该莫有问题吧
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。