Asp.NetCore3.1项目部署
Windows环境下部署IIS方式
步骤:
点击发布之后,在IIS上进行配置:
按照上面的步骤再次浏览网站,发现成功:
也可以不降IIS上的物理路径设置成发布的路径,也可以将路径对准项目的编译位置也可以,但前提是要将发布路径那里多的一个web.config文件拷贝到编译路径那里,发布和编译的区别主要就在与这个配置文件。
部署项目--命令行篇
在发布的目录下进入命令界面,使用dotnet xx.dll命令来运行,比如:
端口是5000,可以根据这个端口来访问网站。
下面是发布的配置文件:
然后,我们还可以通过命令方式来更改端口号和ip, 我们可以直接:
dotnet Zhaoxi.AspNetCore3_1.Project.dll --urls="http://*:5177" --ip="127.0.0.1" --port=5177
其中:--ip="127.0.0.1" --port=5177 可以不写,如果需要特别指定的ip以及端口的话可以写。
需要注意的是,有时候界面的样式可能不对,很有可能是发布路径那里缺少样式文件,也有可能没有配置样式文件的加载路径,如下:
发布与编译的区别
IIS部署时,其实是把请求交给AspNetCoreModuleV2处理,然后转给dotnet—就是启动命令行那一套(IIS没有处理,只是一个代理),而这些东西的处理都在发布之后多出来的web.config文件里。
理解Kestrel
Kestrel就是一个简化版IIS或者说web服务器 。它负责监听请求,将得到的请求转发到代码--->完成响应 。
Asp.NetCore本质是个控制台,运行起来是个网站,因为内置了一个Kestral,因为它是简化版的IIS,所以来能脱离对IIS的依赖,所以才能做到跨平台。
有了kestrel,Asp.NetCore才能真正做到跨平台!
1
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术