翼度科技»论坛 编程开发 .net 查看内容

.Net Core 部署IIS

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
我相信很多人看了其他的贴子,都没有成功部署,因为里面有很多暗坑。接下来博主就一步一步给大家讲明白,带领大家部署
先基本的发布


  • 操作:右击web项目的《发布》按钮。选文件

配置发布属性

  部署模式,建议选框架依赖,且安装对应的运行时框架,可共享系统级版本的 .NET Core,如果框架依赖部署不行,可以尝试:独立。

  • 框架依赖
在包含框架依赖的情况下,应用程序会依赖于所选 .NET Core 运行时版本。这意味着运行应用程序之前必须先安装正确的 .NET Core 运行时。框架依赖项是一种更轻量级的发布选项,因为它只包含应用程序本身的文件,而不包括 .NET Core 运行时文件。

  • 独立发布
在独立发布的情况下,应用程序会包含所需的 .NET Core 运行时文件,这意味着在运行应用程序时不需要安装 .NET Core 运行时。这种发布选项会使应用程序的大小更大,因为它包含了 .NET Core 运行时文件,但它可以使应用程序更易于部署和更可移植,因为它不需要依赖于 .NET Core 运行时的安装。

服务器安装环境

对应的.NET Core Server环境:

  • 安装.NET Core Windows Server Hosting
  • 查看模块安装是否成功,安装完成后再模块中会显示AspNetCoreModuleV2模块
  • 如果没有,可以尝试右侧的操作栏,进行添加/编辑


上传发布文件

把文件上传到服务器上,放到自己指定的目录
在IIS上添加站点

右击=》添加网站

配置网站

配置完确认即可:

    • 指定网站名称
    • 指定网站承载程序的路径,也就是我们,第3步骤,的路径
    • 指定IP+端口


配置应用程序池

CLR版本选:无托管代码

添加web.config

最后一步,在我们程序目录下添加web.config,来告诉IIS我们启动的程序集,参数名:arguments=".\yiri.web.dll" 都是用的相对路径,里面还能拼接参数
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <configuration>
  3.   <location path="." inheritInChildApplications="false">
  4.     <system.webServer>
  5.       <handlers>
  6.         <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
  7.       </handlers>
  8.       <aspNetCore processPath="dotnet" arguments=".\yiri.web.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs" hostingModel="inprocess" />
  9.     </system.webServer>
  10.   </location>
  11. </configuration>
复制代码
下面给大家解释一下配置含义:
  1. configuration:这是根元素,用于表示整个配置文件。
  2. location:指定特定的目录,其内部的配置应该按照 location 中的规则进行处理。
  3. path:指定 location 的路径,"." 表示当前目录。
  4. inheritInChildApplications:指定在子应用程序中是否应该继承此配置。如果设置为 true,则子应用程序将继承此配置;如果设置为 false,则子应用程序将不会继承此配置。
  5. system.webServer:指定应用程序使用的 IIS 版本。
  6. handlers:指定用于处理请求的处理程序。
  7. add:添加一个处理程序。
  8. name:处理程序的名称。
  9. path:处理程序要处理的请求的 URL 路径。
  10. verb:处理程序要处理的 HTTP 动词。
  11. modules:处理程序要使用的 IIS 模块。
  12. resourceType:处理程序要处理的请求的资源类型。
  13. aspNetCore:指定 ASP.NET Core 应用程序的设置。
  14. processPath:应用程序的主执行文件路径。
  15. arguments:传递给应用程序的命令行参数。
  16. stdoutLogEnabled:是否启用应用程序的标准输出日志记录。
  17. stdoutLogFile:标准输出日志文件的路径。
  18. hostingModel:应用程序的托管模型,可以是 inprocess 或 outofprocess。inprocess 模型指的是将应用程序作为 IIS 工作进程的一部分来运行,outofprocess 模型指的是将应用程序作为独立的进程来运行
复制代码
验证,大功告成


 

来源:https://www.cnblogs.com/Bob-luo/archive/2023/02/17/17129700.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具