免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lenky0401

lighttpd-1.4.20源码分析[更新于2009-05-20 在第66楼] [复制链接]

论坛徽章:
0
发表于 2009-04-27 18:06 |显示全部楼层

回复 #1 lenky0401 的帖子

不错不错!!我顶!!!

论坛徽章:
0
发表于 2009-04-28 17:01 |显示全部楼层
我下了,留着慢慢琢磨琢磨

论坛徽章:
0
发表于 2009-04-29 21:05 |显示全部楼层
顶一下 学习了

论坛徽章:
0
发表于 2009-05-17 21:34 |显示全部楼层
谢楼主

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2009-05-18 09:10 |显示全部楼层
有时间准备研究一个web服务器,apache太庞大了,这个倒是不错。感谢分享。

论坛徽章:
0
发表于 2009-05-20 00:31 |显示全部楼层
对于Lighttpd中CGI执行流程的多余文字不用过多说明,图片里已经基本说的很清楚了。

从图中,我们可以看到对于客户端的每一个请求(动态页面,也就是需要CGI处理的),Lighttpd进程都是先fork一个CGI进程,然后将请求头(通过环境参数)和请求体(通过管道)传递给CGI程序,等待CGI处理并将从CGI进程那接收到的处理结果再响应给客户端,然后将CGI终止(通过发送SIGTERM信号)。

CGI的处理有一些缺点,先不说其它的,单从图中可以看到的就有:首先,对于客户端的每一个请求都需要fork一个CGI进程,然后在该请求处理结束后又将该CGI进程kill掉,性能自然是不高的。其次,Web Server(这里指Lighttpd)和CGI之间通信采用无名管道(PIPE)进行通信,因此具有无名管道的所有缺点(比如:Web Server进程和CGI必须具有亲缘关系;管道是半双工的,数据只能向一个方向流动,因此为了使Web Server和CGI进行双方通信,必须建立起两个管道等等)。最两个缺点就衍生出很多其它的缺点,比如基本无法进行分布式部署和在CGI侧进行负载均衡等。

所以Lighttpd里除了提供CGI外,还有另外两个选择SCGI和FASTCGI,将陆续会有Lighttpd里的SCGI,FASTCGI等模块的分析内容发出,感兴趣的网友可以关注,

转载保留本博客地址连接[http://lenky0401.cublog.cn/]。

CGI的相关信息可以查看地址:http://www.w3.org/CGI/



[ 本帖最后由 lenky0401 于 2009-5-20 18:57 编辑 ]

论坛徽章:
0
发表于 2009-05-20 13:25 |显示全部楼层
想问下这个图是怎么画的,用都什么工具?

论坛徽章:
0
发表于 2009-05-27 21:43 |显示全部楼层

好东西

谢谢分享你所学的,继续,支持中

论坛徽章:
0
发表于 2009-05-28 13:26 |显示全部楼层
楼主加油
等你的FASTCGI模块分析

论坛徽章:
0
发表于 2009-05-28 15:21 |显示全部楼层
up
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP