我的web后台之DOTNET与Nginx

我的web后台之DOTNET与Nginx

这篇文章对DOTNET和Nginx进行简单的介绍,以试图说明我部署的web应用是如何通过域名访问到的。

DOTNET和Nginx

早期我只是建立了一个简单的博客网站,完全静态的,没有提供任何交互式的服务,所以那时候我只是用Nginx提供的最简单的静态网站访问的能力。后来我发布了交互式的web应用,这时候才开始引入了.NET平台提供的web服务。

注意,评论系统并不是我提供的服务。我只是使用了LeanCloud提供的评论服务。Valine 诞生于2017年8月7日,是一款基于 LeanCloud 的快速、简洁且高效的无后端评论系统。

DOTNET

官方介绍:https://learn.microsoft.com/en-us/dotnet/core/introduction

DOTNET其实就是.NET

2002年,微软发布了.NET Framework,一个用于创建Windows应用程序的开发平台。

2014年,微软推出了.NET Core,作为 .NET Framework的跨平台、开源的继任者。这种新的.NET实现方式在3.1版本中一直保持着.NET Core的名称。在.NET Core 3.1之后的下一个版本被命名为.NET 5

新的.NET版本继续每年发布,每一个主要的版本号都会提高。它们包括重要的新功能,并经常启用新的应用场景。

我们可以理解.NET 平台是一个长期发展的软件生态,它提供构建软件能力的整个解决方案,主要包含三大件:语言(C#),IDE(Visual Studio),基础类库(.NET Framework,……)。

其基础类库包含不同的发展分支,它最初的形态是.NET Framework,其版本信息可以查看官网说明。由于.NET Framework和windows操作系统有深度的绑定关系,导致其难以实现跨平台。Xamarin主导的Mono项目试图解决跨平台的问题,但在.NET 的基础类库实现上仍不够完美。2014年,Xamarin和微软发起.NET基金会,在2014年11月份微软开放了.NET Framework源代码。在.NET开源基金会的统一规划下诞生了.NET Core

.NET Framework是最初的.NET,Mono.NET Framework的跨平台实现,.NET Core.NET开源的跨平台的实现。现在已经不说.NET Core 了,微软直接命名为.NET 版本号

2021年11月8号,微软正式发布了.NET 6

2022年11月8号,微软正式发布了.NET 7

ASP.NET Core

ASP.NET Core是一个免费且开放源代码的Web框架,以及由微软和社区开发的下一代ASP.NET。它是一个模块化框架,可以运行在跨平台的.NET Core上。

使用Visual Studio开发基于ASP.NET Core框架的web程序,将web程序发布到Linux服务器上。当然,要保证程序在服务器上可以正常运行,需要在服务器上安装dotnet-sdk。

通过下面命令可以直接查看web程序是否可以正常运行。

1
dotnet /目录/项目.dll

如果可以正常运行,一般进一步就是要创建服务文件,并且通过它来启动web服务,默认的dotnet webapp启动的端口是5000和5001。更多内容可以查看我之前的一篇文章《将ASP.NET Core发布到Nginx》。

Nginx

Nginx是一款开源软件,是一个高性能的HTTP反向代理web服务器 [13] ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。

Nginx是一个web服务器,但是更多的是提供静态内容服务,另外,它作为一个代理服务器,可以将请求转发给其他的应用服务。

通过上面一个章节,我们知道,可以在Linux系统上发布一个web应用服务。为了保证用户可以通过浏览器访问到该服务,可以用Nginx将请求转发到服务端口。所以通常会在nginx配置中有类似这么一段,将请求转发到5000端口,而这个端口就是我们启动的web应用服务。

1
2
3
4
5
6
7
8
server {
listen xxxx;
server_name hangliebe.com
location / {
proxy_pass http://localhost:5000
……
}
}

总结

综上所述,我在linux上安装并启动了一个web程序,它工作在5000端口上,又安装了Nginx的服务,网站工作时,通过浏览器向Nginx发出请求,Nginx将请求转发给了web程序,最终实现了对web程序的访问。



关注博客或微信搜索公众号多媒体与图形,获取更多内容,欢迎在公众号留言交流!
扫一扫关注公众号
作者

占航

发布于

2022-11-13

更新于

2023-10-04

许可协议

评论