为什么lighttpd mod_fastcgi 启动监听套接字?
我读了lighttpd 1.4.19源代码,现在我被fcgi_spawn_connection函数卡住了,
if (-1 == connect(fcgi_fd, fcgi_addr, servlen)) { ... bind(fcgi_fd, fcgi_addr, servlen) ... listen(fcgi_fd, 1024) }
问题是,为什么mod_fastcgi要创建一个监听套接字,它有什么用? mod_fastcgi 不是作为客户端连接到 fastcgi 进程(等,php-cgi)吗? - php-cgi 进程将监听。
谢谢。
I read in lighttpd 1.4.19 source codes, now I got stuck at the function fcgi_spawn_connection,
if (-1 == connect(fcgi_fd, fcgi_addr, servlen)) { ... bind(fcgi_fd, fcgi_addr, servlen) ... listen(fcgi_fd, 1024) }
The question is, why does mod_fastcgi create a listening socket, what's it use for? Isn't that mod_fastcgi works as client connect to fastcgi processes(etc, php-cgi)? - the php-cgi processes will listen.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我以为我明白了。
php-cgi不会创建监听套接字,而是继承自fcgi_spawn_connection,而这个监听套接字已经是dup2 FCGI_LISTENSOCK_FILENO(通常为0)。
OK, I thought i got it.
the php-cgi will not create a listen socket, but inherits from fcgi_spawn_connection, while this listen socket has been dup2 FCGI_LISTENSOCK_FILENO(usually 0).