我正在规划一个用C ++编写的Web服务。目标是能够选择或多或少的任何Web服务器来驱动服务。为了实现这一点,我显然必须选择Web服务器和应用程序之间的标准化接口。
我听说的众所周知的方法是:
现在,由于我完全没有使用这些界面的经验,我真的不知道该选择什么。我确实有一些要求。
感谢您的任何建议:)
答案 0 :(得分:6)
WSGI适用于Python应用程序;如果你的语言是C ++,那么这不是一个选择。
FCGI是一个很好的方式。 FCGI可以作为标准CGI调用,便于调试和测试,然后在生产中作为FCGI运行。
CGI与FCGI的表现在很大程度上取决于您尝试做什么以及您期望的流量。具有大量启动开销的任务最有利于FCGI; FCGI控制器可以配置为产生额外的进程来处理重负载。
实际上,任何Web服务器都将使用最少的配置运行CGI;您可能需要一个额外的模块来运行FCGI,但这取决于Web服务器。
答案 1 :(得分:1)
CGI没有什么“慢”它只是不可扩展。 FCGI具有更高的可扩展性,但您无法在该环境中轻松开发,因为该过程使用寿命长,并且使调试成为一场噩梦。在这个抽象级别,HTTP / 1.1不是问题。如果您担心速度,此时没有任何分析或测试,您不应该,但这些接口与速度无关,而是兼容性。速度取决于您运行代码的容器。
答案 2 :(得分:1)
CGI / fastCGI不应该有太多问题。如果你实现fastcgi,你的程序仍然可以作为普通的CGI运行。并且大多数Web服务器都支持cgi / fastcgi。