windows - Windows 上的 ASP.Net 与 nginx/Lighttpd/mono/fastcgi

标签 windows nginx mono fastcgi lighttpd

我需要在 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/

相关文章:

c# - 如何使用 Microsoft.Win32.Registry C# 创建注册表项

c++ - Clang - Windows 快照构建和版本 3.7.1 之间的区别

windows - 创建独立于操作系统的 GUI 软件的可能性

nginx - 为 nginx 和乘客配置 CORS

asp.net-mvc - Mono 2.10 附带哪个版本的 ASP.NET MVC?

java - 网络接口(interface)参数

nginx - 如何删除双 Vary header nginx

php - fatal error : Class 'ZMQContext' not found ( but it is installed and works on the terminal )

c# - 检查 StreamReader 是否有可用数据的非阻塞方式

compiler-errors - 代码可以使用 netcore 编译,但不能使用 mono 编译