• ASP.Core3.1 WebAPI 发布到IIS


    本篇文章简述如何在IIS中发布你的.Core 程序

    1.打包

    首先你要打包好你程序,如果你是Visual Studio开发的程序,那你右击你的项目点击发布
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    如果你是Visual Code 开发的,那你在你的终端切换到你的目录然后执行命令

    dotnet publish --configuration Release
    
    • 1

    然后可以在你的项目bin\Release\netcoreapp3.1\publish找到你的发布版本
    如果你想发布到指定的路径

    dotnet publish --configuration Release --output 你的路径
    
    • 1

    2.配置服务器

    首先你要运行在IIS上面的话,因为是Asp.Core所以我们需要添加一个应用程序池,,NET Framework 版本选择.无代码托管
    在这里插入图片描述
    这里避坑,因为是.Core项目,所以应用池默认设置要把32位应用程序改为False,否则项目会提示:Http 500 错误
    在这里插入图片描述
    然后需要安装一个IIS的模块,必须要有这个模块才可以运行
    在这里插入图片描述

    就是在你的Core版本下面的,我这里以3.1版本为例子,其他版本同理
    在这里插入图片描述
    然后把你项目的SDK跟运行时都安装上

    然后运行命令检测一下你的服务器是不是环境正确,一般不正确就重新安装一下

     dotnet --list-runtimes
    
    • 1

    在这里插入图片描述

    因为我们的项目是Restful API,所以采用https
    所以需要启动Kestrel服务器时需要配置HTTPS端点,指定服务器证书,并且默认的开发者证书
    所以我们在命令行执行命令
    运行以下命令来生成开发者证书:

     dotnet dev-certs https
    
    • 1

    如果你的操作系统是Windows或macOS,并且你想信任该证书,可以运行以下命令来信任证书:

     dotnet dev-certs https --trust
    
    • 1

    3.配置IIS

    首先我们在我们的IIS服务器新建一个自建证书,后期生产环境有SSL证书直接用你的SSL证书就行,就不需要自建
    在这里插入图片描述
    然后添加一个网站,选择你刚刚的项目路径,应用程序池选择我们刚刚添加的那个无代码托管的应用程序池,其他根据自己的需求配置
    在这里插入图片描述
    然后运行项目
    在这里插入图片描述
    到这项目基本发布好了

    这里在避坑一下,原先以为到这里就好了,当时发现调用非Get Post请求的接口的时候提示:405错误
    在这里插入图片描述
    一开始我以为是HTTP请求谓词的原因,找遍IIS的配置都没发现问题
    在这里插入图片描述
    最后发现是"WebDAV,如果你的项目用不到"WebDAV的话就删除,要是你的IIS有其他"WebDAV的项目,那就在你的web.config
    添加

     <modules runAllManagedModulesForAllRequests="true">  
      <remove name="WebDAVModule" />  
    modules>  
    
    • 1
    • 2
    • 3
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/8c8423540a5245d0bddba37f67757aa0.png)
    
    • 1

    至此,你的,CoreAPI 程序已经成功发布到IIS上面,个人还是比较推荐用nginx,因为毕竟.Core都是跨平台,下次出如果在nginx环境下搭建你的Core程序

  • 相关阅读:
    Open3D(C++) 深度图像与彩色图像转三维点云
    SpringSecurity Oauth2实战 - 04 自定义AuthProvider实现认证登录
    专业护眼灯什么牌子好?2024年专业护眼灯品牌排行分享
    【Rust 日报】2023-09-17 yazi:终端文件管理器
    车道线算法合集——各个车道线论文代码地址、算法总结、优劣分析
    【JavaEE初阶】多线程 _ 基础篇 _ 单例模式
    Spring Security即将弃用WebSecurityConfigurerAdapter配置类
    VUE day_08(7.26)学子商城项目3
    JAVA注解和反射
    TS类型: never 和 unknown
  • 原文地址:https://blog.csdn.net/qq_16550591/article/details/133773854