我需要在 Windows 上运行 Web 服务器(nginx 或 lighttpd),以满足 ASP.Net 应用程序的基本要求。我正在尝试使用 mono 2.10 中的 fastcgi-mono-server4 for windows,但没有任何运气。 我的 ASP.Net 应用程序只是一个 httpmodule,需要初始化一个最小的 global.asax,而且我使用自己的 mvc 框架,所以我对 ASP 的需求实在太少了。 我不提供任何特定的文件扩展名,所有请求都必须发送到模块处理程序。我正在尝试使用网络上找到的所有设置来配置两台服务器,并使用所有可能的命令行来配置 fastcgi-mono-server4,并且 fastcgi-mono-server4 似乎可以工作,两台网络服务器也可以,但在最好的情况下,我只是出现“没有为...定义应用程序”页面或 500 服务器错误,并且 fastcgi 有时显示“没有为 index.html 定义应用程序”或仅显示调试信息或根本没有任何信息(在不同的配置中)。 我只需要 nginx/lighttpd 的正确配置和 fastcgi 的正确命令行。 该应用程序可以在 mono 或 .net 框架上运行(它在 apache/mono 上运行没有问题),并且我不想在 Windows 上使用 IIS。
提前致谢。
最佳答案
我已经有一段时间没有使用 nginx 来托管我的 ASP.NET 应用程序了,但是回顾一下我的 nginx.conf,发现有一些差异。首先,我过去常常将每个请求(无论扩展名如何)重定向到 fastcgi 套接字。另外,我还有一个指向 Web 应用程序根目录的 root
指令。这是我的 nginx.conf 的 location
部分:
location / {
root /home/whatever/Website/;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
我真的不知道发送到 fastcgi 套接字的内容是什么,但是您可以尝试一下 root
指令,以及将所有内容重定向到它(有点像集成管道模型) .
另外,我的 fastcgi_params 的前两行以防有帮助:
fastcgi_param PATH_INFO "";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
我将其与 Mono 2.10.8 一起使用,我的 ASP.NET MVC 3 网站运行良好。尝试一下并跟我说话。
关于windows - Windows 上的 ASP.Net 与 nginx/Lighttpd/mono/fastcgi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16067226/