为什么 ASP.NET 5 on Linux 需要红隼?
Why does ASP.NET 5 on Linux require kestrel?
在 Linux 上安装 ASP.NET 5 时,我试图了解整个 web/framework/application 堆栈。
我阅读的所有说明,包括 this one 都没有真正回答我的问题:
为什么 Nginx 服务器不能工作 没有 Kestrel 喜欢这里:http://www.mono-project.com/docs/web/fastcgi/nginx/ ?
或者我离题太远了。我试图了解这种结构的原因:
.NET Core(or mono) --> Kestrel --> Nginx
Kestrel 不就是与 Nginx 类似但功能少很多的 Web 服务器吗?
ASP.NET Core (ASP.Net 5) 不需要 Kestrel!
你说得对,Kestrel 只是一个简单的 HTTP 服务器,具有少量功能。你可以 运行 ASP.NET Core 没有 Kestrel on Linux 或 Mac,但您必须拥有 HTTP 服务器或 fastCGI 服务器。
Nginx 通常用作静态内容的反向代理,您还可以对动态内容启用 gzip 压缩。 Kestrel 没有这个功能。
您还可以使用您需要的特定 HTTP 功能编写自己的 HTTP 服务器(例如 HTTP2)。
死灵法术。
是的,它确实需要 Kestrell。
正如 Agua 所说,理论上,它也可以 运行 在除 Kestrell 之外的其他一些 http 服务器上,一个可以 运行 .NET Core 或通过 FastCGI 的服务器。
但是,据我所知,Kestrell 是目前存在的唯一可以真正做到这一点的 http 服务器。
因为 AFAIK,用 .NET Core 编写的 FastCGI-server/library 还不存在。
现在,如果您想将 .NET Core 与 nginx 或 Apache 一起使用,您所能做的就是将请求反向代理到 kestrell。
在 Linux 上安装 ASP.NET 5 时,我试图了解整个 web/framework/application 堆栈。
我阅读的所有说明,包括 this one 都没有真正回答我的问题:
为什么 Nginx 服务器不能工作 没有 Kestrel 喜欢这里:http://www.mono-project.com/docs/web/fastcgi/nginx/ ?
或者我离题太远了。我试图了解这种结构的原因:
.NET Core(or mono) --> Kestrel --> Nginx
Kestrel 不就是与 Nginx 类似但功能少很多的 Web 服务器吗?
ASP.NET Core (ASP.Net 5) 不需要 Kestrel!
你说得对,Kestrel 只是一个简单的 HTTP 服务器,具有少量功能。你可以 运行 ASP.NET Core 没有 Kestrel on Linux 或 Mac,但您必须拥有 HTTP 服务器或 fastCGI 服务器。
Nginx 通常用作静态内容的反向代理,您还可以对动态内容启用 gzip 压缩。 Kestrel 没有这个功能。
您还可以使用您需要的特定 HTTP 功能编写自己的 HTTP 服务器(例如 HTTP2)。
死灵法术。
是的,它确实需要 Kestrell。
正如 Agua 所说,理论上,它也可以 运行 在除 Kestrell 之外的其他一些 http 服务器上,一个可以 运行 .NET Core 或通过 FastCGI 的服务器。
但是,据我所知,Kestrell 是目前存在的唯一可以真正做到这一点的 http 服务器。
因为 AFAIK,用 .NET Core 编写的 FastCGI-server/library 还不存在。
现在,如果您想将 .NET Core 与 nginx 或 Apache 一起使用,您所能做的就是将请求反向代理到 kestrell。