ASP.NET Core 项目部署

骑猪看日落 2024-03-17 19:18 144阅读 0赞

控制台运行

程序发布后,会在发布的目录产生一个dll文件,要运行该程序,需要通过命令来执行;如果是Windows系统还可以直接点 xxx.exe 来执行。

  1. dotnet xxx.dll

优点:

  • 更好的性能和内存利用率。
  • 跨平台
  • 灵活性,它是独立于操作系统进行开发和修补的。
  • 编程端口和 TLS 配置
  • 扩展性,允许 PPv2 等协议和备用传输

缺点:

  • 端口共享
  • 内核模式 Windows 身份验证。 Kestrel 仅支持用户模式的身份验证。
  • 通过队列传输的快速代理
  • 直接文件传输
  • 响应缓存

IIS部署

ASP.NET Core 不在由IIS进程托管,而是在Kestrel服务器上运行,IIS则扮演反向代理的的角色,转发请求到Kestrel的不同端口程序当中,然后将处理好的请求推送到中间管道,在返回到IIS,在由IIS转达到不同客户端。

497a0c461effefd6b23e764e71821d91.png

IIS安装

Windows 系统

  1. 打开控制面板,选择程序。

f49201492c762b791e1da503906656a1.png

  1. 启用或关闭Windows功能。

da64fc343c927e6e0fc3a8715f7bf669.png

  1. 勾选Internet Information Services以及Web管理工具下的IIS管理控制台并确认。

9934eda85b952f2641e39502e0d9ed7c.png

  1. 打开控制面板→系统和安全→Windows 工具,打开IIS管理器。

a126704e521be45987896d7088e49b3a.png

  1. 打开 Default Web Site ,或打开浏览器输入访问地址:localhost,呈现如下画面,则表示安装成功。

466004e1b64cf754227b1549ac8c8a43.png

Windows Server 安装

  1. 选择添加角色和功能。

2e4ca05f4195837f82d9db622ce32e11.png

  1. 一直下一步到选择web服务器。

a633a9d5cbd8389bd3b0a151925ed9bd.png

  1. 添加服务器角色。

e1be97d51b3afa5b75bb5e970d0c2e41.png

  1. 功能可以按需选择,等待安装完毕。
  2. 安装成功后,在服务器管理器中会出现IIS服务器。

7e0e2c0254484a5b080329539940d4b8.png

  1. 打开 Default Web Site ,或打开浏览器输入访问地址:localhost,呈现如下画面,则表示安装成功。

00befb2df9445665855f2aa9df91cfa8.png

部署步骤

  1. 安装.NET Core捆绑包,点此处下载。
  2. Windows Sever系统:打开IIS,进入IIS 管理器;Windows系统:打开控制面板→系统和安全→Windows 工具→IIS管理器。

c77f6815f44d23ab0cb99b52cf023b3b.png

  1. 右键点击网站,选择添加网站,然后进入配置。

ea2b08fa7f188e067a197109cffee124.png

  1. 对网站进行相关配置,包括名称、目录、类型、IP、端口等信息。

ed5649e9089d7424d181a9112482a1e8.png

  1. 设置应用程序池为“无托管代码”,因为IIS是作为一个反向代理的角色,并不需要它负责托管代码。

2d1a7b6fc19b944a484f1f324abe92cd.png

  1. 访问部署地址成功。

2b1294283e192caeed0be4db100cbaaf.png

错误解决

错误一:HTTP 错误 405.0 - Method Not Allowed

现象

当部署完成,访问时出现错误:HTTP 错误 405.0 - Method Not Allowed 无法显示您正在查找的页面,因为使用了无效方法(HTTP 谓词)。

46bbbc70ad4d6641b3f51363ad76f915.png

解决方法

  1. Windows系统:打开Windows功能,关闭WebDAV功能,Windows Server系统:在角色功能中删除即可。

de537bc7c48a226dff629a72e24e54f1.png

  1. 打开处理程序映射。

270896db55caadaa47592747a66c318d.png

  1. 找到EtensionlessUrlHander-Integrated-4.0→编辑托管处理程序→请求限制→添加PUT,DELETE谓词。

0ae1046eebf4a75c8fa5f1b6dee8ff21.png

  1. PUT,DELETE请求正常。

b2049ba6d461e9ca0f64bf75da2c0067.png

发表评论

表情:
评论列表 (有 0 条评论,144人围观)

还没有评论,来说两句吧...

相关阅读