0

我一直在为我的项目寻找网络服务器,但我无法满足自己。我需要一个支持 Windows 编译 CGI 脚本 (exe) 的 http 服务器,并且必须能够使用相对路径。如果服务器可以尽可能小/轻量级,那将是一个额外的好处。

到目前为止,我的搜索中最难的部分是找到一个支持 CGI 和相对路径支持的服务器。当我说相对路径时,我指的是服务器根目录。我希望能够将它与我的项目一起打包,因此 conf 文件中的路径不能是绝对的。

我唯一满足所有标准的是Abyss Web,但他们的许可证是专有的,仅供个人免费使用。

编辑:我在我的方式中发现了错误。我在根目录下通过 cmd 启动了这个过程。因此,apache 在 conf 中使用的相对路径是相对于我在根目录下的位置。通过更改到根目录并在那里运行进程,一切都像 gbjbaanb 提到的那样工作。但我想我的问题的上下文可能仍然有效。如果我要在我的程序(C# .NET)中将服务器作为进程运行,那么“当前目录”会是什么?我是否必须确保在启动之前更改了当前目录环境变量?

4

2 回答 2

4

阿帕奇有什么问题?您可以将 DocumentRoot 设置为任何目录(尽管我没有在 C 上的 Windows 上尝试过它:)

它也适用于网络服务器根目录 - 不要以 / 开始指令,它可以工作。

于 2009-03-23T23:10:48.020 回答
0

我已经快速启动了我应该使用的服务器的模拟版本,gbjbaanb 似乎也适用于 Windows。与 *nix 一样,相对路径的工作基于 apache 启动时的当前目录。因此,对于 Windows,只需确保将当前目录的环境变量设置为您希望 apache 与之相关的环境变量。对于 .NET,您只需适当地设置 System.IO.Directory.SetCurrentDirectory() 或 System.Environment.CurrentDirectory。我想对于 *nix,你要么在运行前 cd 进入目录,要么使用 chroot。

于 2009-03-24T15:36:40.503 回答