According to this article, nginx has a master process and a number of worker processes. I'm trying to understand how a request is handled by the nginx worker processes. nginx uses an event driven architecture with multiple listen sockets and connection sockets.
Typically with an HTTP web server you'd have a single process listening on port 80. For a new connection the data for all requests would then go to port 80 via a socket e.g. (client-ip, client-port, server-ip, 80) where 80 is the server port. As I understand it you can only have a single process listening on a single port, so how exactly do these requests get forwarded to all the other ports nginx uses? Does the master process copy all the request and response data from local ports back and forth via port 80?
Thanks.