ASP.NET Core 项目部署
控制台运行
程序发布后,会在发布的目录产生一个dll文件,要运行该程序,需要通过命令来执行;如果是Windows系统还可以直接点 xxx.exe 来执行。
dotnet xxx.dll
优点:
- 更好的性能和内存利用率。
- 跨平台
- 灵活性,它是独立于操作系统进行开发和修补的。
- 编程端口和 TLS 配置
- 扩展性,允许 PPv2 等协议和备用传输
缺点:
- 端口共享
- 内核模式 Windows 身份验证。 Kestrel 仅支持用户模式的身份验证。
- 通过队列传输的快速代理
- 直接文件传输
- 响应缓存
IIS部署
ASP.NET Core 不在由IIS进程托管,而是在Kestrel服务器上运行,IIS则扮演反向代理的的角色,转发请求到Kestrel的不同端口程序当中,然后将处理好的请求推送到中间管道,在返回到IIS,在由IIS转达到不同客户端。
IIS安装
Windows 系统
- 打开控制面板,选择程序。
- 启用或关闭Windows功能。
- 勾选Internet Information Services以及Web管理工具下的IIS管理控制台并确认。
- 打开控制面板→系统和安全→Windows 工具,打开IIS管理器。
- 打开 Default Web Site ,或打开浏览器输入访问地址:localhost,呈现如下画面,则表示安装成功。
Windows Server 安装
- 选择添加角色和功能。
- 一直下一步到选择web服务器。
- 添加服务器角色。
- 功能可以按需选择,等待安装完毕。
- 安装成功后,在服务器管理器中会出现IIS服务器。
- 打开 Default Web Site ,或打开浏览器输入访问地址:localhost,呈现如下画面,则表示安装成功。
部署步骤
- 安装.NET Core捆绑包,点此处下载。
- Windows Sever系统:打开IIS,进入IIS 管理器;Windows系统:打开控制面板→系统和安全→Windows 工具→IIS管理器。
- 右键点击网站,选择添加网站,然后进入配置。
- 对网站进行相关配置,包括名称、目录、类型、IP、端口等信息。
- 设置应用程序池为“无托管代码”,因为IIS是作为一个反向代理的角色,并不需要它负责托管代码。
- 访问部署地址成功。
错误解决
错误一:HTTP 错误 405.0 - Method Not Allowed
现象
当部署完成,访问时出现错误:HTTP 错误 405.0 - Method Not Allowed 无法显示您正在查找的页面,因为使用了无效方法(HTTP 谓词)。
解决方法
- Windows系统:打开Windows功能,关闭WebDAV功能,Windows Server系统:在角色功能中删除即可。
- 打开处理程序映射。
- 找到EtensionlessUrlHander-Integrated-4.0→编辑托管处理程序→请求限制→添加PUT,DELETE谓词。
- PUT,DELETE请求正常。
还没有评论,来说两句吧...