nginx如何复用单个套接字

时间:2016-06-15 18:29:21

标签: sockets events nginx request

我一直在阅读有关nginx内部的内容,他们提到nginx主进程创建了几个工作进程,并且每个进程都等待同一端口上的连接。这是可能的fork,因为fd结构在进程之间共享。我不明白的是,如果它是如何工作的,那么在多个进程中accept(fd)内是否会出现竞争条件?也许我对工人流程如何接受请求的理解不明确

1 个答案:

答案 0 :(得分:2)

允许在同一个套接字上有多个侦听器(线程或进程){"id":6,"error":[1,"Not Available Now"]}。一旦发起连接,一个(并且只有一个)保证从accept呼叫返回。

在旁注中,您还可以让多个侦听器accept使用相同的套接字(TCP-flavor recvfrom,但这具有不确定的价值。)