为什么要使用Apache或Nginx等呢?

Why bother using Apache or Nginx, etc?

本文关键字:Nginx 等呢 Apache 为什么      更新时间:2023-10-16

我被分配了一个项目,需要我添加一些HTML页面服务。这个嵌入式系统(运行Linux CentOS 6.3)有一些额外的功能,但也已经有许多责任。

我考虑过Apache,但由于膨胀而放弃了它,我研究过Nginx,但现在也在回避它。似乎我得到了更多的"功能",结果,更多的CPU使用比我需要的。

有人可以启发我,为什么我不只是实现HTTP协议自己使用异步套接字?

我的具体需求是:

  1. 接收和解码get和post。

  2. 按要求发送CSS, JS和JPG文件。

  3. 根据get/post的解码输出报头、cookie、报头和正文数据

考虑到我不需要这些web服务器提供的无数东西,我是否天真地认为这门课程是我自己做的?你有什么建议或警告吗?

基本上,你使用一个web服务器,因为这样你就可以在一个已经测试过的表单中获得你想要的功能,比你的第一个代码可能更可靠,并且得到了其他大型社区的支持。如果Apache和nginx对你来说太重量级了(尽管nginx的特点是它对于重负载是多么的轻量级),特别是如果你期望的负载非常轻,那么看看其他的选择。

Wiki有一整个页面的轻量级web服务器的比较

一个容易陷入的陷阱:认为"我不需要产品X中的所有功能,我只编写我自己需要的功能",最终只是完全重新实现产品X,一次一个新发现的需求。

我有点怀疑,一个可以运行CentOS的嵌入式系统是如此的资源匮乏,以至于它不能舒适地运行Nginx(甚至Apache,人们在树莓派上运行得很好,适当的配置调整),给出合理的假设,你实际服务的页面有多少。我在Pentium 266上运行它,它有256MB的内存,提供一些简单的PHP应用程序,大约每两秒钟提供一个页面,没有问题。我记得,它是相当模块化的,因此您可以选择不加载您认为不需要的功能。然后,当你的需求改变时,你发现你确实需要它,你可以把它插回去:)

如果你真的关心资源消耗,看看为嵌入式应用设计的web服务器。我听说切罗基语很不错。猫鼬看起来也很有希望。

我从这个开始http://www.w3.org/Protocols/HTTP/HTTP2.html