什么是适合 Windows 的简单、开放的 Web 服务器?

alf*_*les 5 windows web-server open-source

我正在寻找一个非常简单的 Windows 网络服务器。负载不会很高,因为它将主要为 WPKG 更新服务提供二进制文件。它需要在可配置的(高)端口上通过 HTTP 提供单个文件夹的全部内容。不需要 CGI 或其他脚本,但它可能对未来的功能很好。

我从 Mongoose 开始,因为它甚至没有安装要求(一个非常好的特权),但是作为服务运行时它无法启动。(从技术上讲,它充当它自己的安装程序。)我也调查了 LightTPD,但它似乎在 Windows 上进行了最少(最多)测试。

当然,我正在寻找免费的东西。就像啤酒一样好,但说话更好,一如既往。

编辑:我最初没有提到这一点,但非技术人员将进行安装。他们将拥有我为安装编写的任何脚本,但目标是一个易于排除故障的简单系统。

(我几乎用“什么是最好的......”这个问题的措辞,但 Serverfault 正确地观察到,这是一个主观问题。它真的不是一个优化问题,任何合适的解决方案都可以。我似乎找不到一个用于 Windows。)

gra*_*ace 8

正如其他人所说,Apache 是这里的明确选择:灵活,在 Windows(任何“NT”版本的 Windows)上经过充分测试,因为您的应用程序将需要最少的配置更改。占地面积也小。虽然 Apache 因配置文件过多而受到批评是正确的,但因为只是简单地存放一些文件,您实际上必须对默认配置进行一次或两次更改:

Listen <your new port> 并可能: DocumentRoot c:\my\binary\path

您可能没有考虑的另一个方面是二进制签名和防病毒:httpd.exe 是一个非常常见的进程,文档齐全,开源;不会触发误报,就像一个鲜为人知的“免费软件”Windows Web 服务器(赛门铁克将它用于他们的 Endpoint Protection 产品来完成您正在做的事情:将更新二进制文件分发给客户端;我认为它是否适用于赛门铁克.. .)

此外,还有一个内置的服务安装,所有可从httpd可执行文件 ( httpd -k install -n "MyServiceName" -f "c:\files\my.conf")编写脚本,因此很容易从父安装程序“侧链”。易于清理/卸载(再次,httpd -k uninstall -n "MyServiceName")。

更多信息在这里