面向轻量级web服务器的C++兼容性

C++ compatibility for lightweight web servers

本文关键字:C++ 兼容性 服务器 web 轻量级      更新时间:2023-10-16

我对Web服务器事务非常陌生,而且还是一个比较天真的C++学生。我现在正在做一个项目,我必须创建一个插件到现有的网络服务器。这是一个公司的商业项目,但也是我的学士论文项目。我不太确定哪台网络服务器适合我的项目。我正在寻找的web服务器应该处理网络套接字,并将http或https请求作为对象呈现,插件(我想要开发的)应该从中读取头、url、数据,并相应地为公司的数据存储的文件系统API翻译(特别是翻译SOAP和REST),反之亦然。该插件必须使用C++开发。服务器环境为Linux Cent OS 6。该公司的普通员工以前从未使用过linux服务器环境。这是一家小公司。它们以前只使用windows和IIS web服务器。我们的项目经理不愿意使用Apache,因为它占地面积大,速度慢,而IIS不适合linux。因此,我们正在寻找一个免费的轻量级linux网络服务器。

我看到人们谈论了很多关于Nginx、G-WAN、Cherokee、Lightspeed、Varnish、Tntnet等。但我并没有真正找到任何关于这些网络服务器比较的标准判断来源。所以,请让我知道,哪台网络服务器更适合我。正在等待回应。

有几个,例如lighttpd。以下是如何为其构建C插件的描述

注意

我希望web服务器的源代码尽可能少。

源代码的长度不是衡量程序性能和内存使用情况的好指标。

"我真的没有找到任何关于这些web服务器的比较。"

一位学者对你引用的大多数服务器进行了这样的比较。Tntnet在其他地方进行了测试。

"请告诉我,哪台网络服务器对我来说更合适。"

考虑到您所表达的限制:

该公司以前从未使用过linux服务器环境。这是一家小公司。它们只适用于windows和IIS web服务器之前我们的项目经理不愿意使用Apache,因为它占用空间大而且速度慢,而IIS不适合linux。因此,我们正在寻找一个免费的轻量级网络服务器linux"

G-WAN(150KB)是最轻量级的,它的C/C++ scripts将为您省去重新编译和链接其他服务器所需的modules的麻烦。

G-WAN最初是由从未在Linux上冒险的人在Windows上编写的(在Windows发布6个月后制作Linux端口之前)。

因此,G-WAN被设计得尽可能简单(在没有配置文件或系统脚本的情况下应用最佳设置),因为这让开发人员的生活更轻松。

但不要相信我的话(我是G-WAN团队的一员),并尝试一下——这是查看它是否符合您需求的唯一方法。

如果您想用C++编写web应用程序,就会想到Wt工具包。

您也可以用C++编写FastCGI或SCGI应用程序,并通过适当配置web服务器(例如lighttpd或旧的Apache)来注册它。

还有几个库可以使您的应用程序成为HTTP服务器。例如洋葱(它在C中,但可以从C++中使用)。