.net core 部署 Web Deploy发布

  • 需要注意的点见:https://www.cnblogs.com/itsvse/p/13785107.html
  • 安装资源

IIS上部署


安装好,重启。开发机又当服务器,需要装SDK,SDK安装时会自动安装运行时,需要安装如下:

安装vs的时候,只会安装 sdk from visual studio

注意iis要安装全:

IIS配置

第一步:发布的时候先要选择IIS

第二步:增加网站,且要修改下应用程序池。

 

  • Web Deploy发布

  • 一、首先要确保服务器上的IIS和web deploy已经完全安装,这里建议安装web deploy时选择完全安装,否则可能会有401等错误。

  • 二、 打开之后按照图片中设置

  • 主要是启用远程连接,而且标识凭据中根据需求选择只用windows凭据还是同时使用IIS凭据。

  • 注意端口号必须添加到“入站规则”
  • WMSVC服务在服务列表中是:web mangement service

    三、点击你的站点,在功能列表中选择IIS管理器权限,右边点击允许用户,选择windows类型的用户,添加你的账号

  • 四、右击站点,选择部署-启用web deploy发布

  •  到这里如果一切正常,按照发布流程已经可以发布了。如果有550错误,401授权错误等,继续往下看。

  • 401授权错误,可以按照如下步骤尝试:

  1. 验证错误,直接改用系统的用户。
  2. 在服务器本地用户中创建 WDeployAdmin 和 WDeployConfigWriter. 并设置密码(第四步还将用到)。二者都同时勾选“密码永不过期“ 。
  3.  添加WDeployAdmin 到Administrators组
  4.  打开C:\Windowssystem32inetsrvconfig—属性—安全,添加WDeployConfigWriter并赋予修改和写权限
  5. 打开IIS,选择”Management Service Delegation ( 管理服务委派)”将这里所有用户名为WDeploy* 的点击右侧的“编辑”—“设置”填写第一步添加的用户名和密码。
  6. 打开IIS对应站点,选择”iis管理权限” 允许用户 WDeployAdmin 和 WDeployConfigWriter
  •  您无权使用所提供的凭据查看此目录或页面。

       iis-对应站点:目录浏览-启动

  550错误,可尝试如下步骤:

    1. 找到站点根目录
    2. 属性-安全-给local service、IIS_IUSERS分配修改权限
  • IIS发布有时会报如下错:

可能是2019的bug,需要点一下验证“连接”

 

发布成功,服务器文件夹没文件:

查看发布配置是不是“站点名称”不对。

如果是第一次发布,一定是第一次发布才可以,不然里面的文件都没了,可以选择发布前删除原文件,好了以后再改回来。

HTTP Error 500.31 - ANCM Failed to Find Native Dependencies

原因:被进程内托管了。因为asp.net代码发布之后默认是在IIS中托管,.netcore是无托管代码的,这个知识点要记住。

所以:删除webconfig中的配置,hostingModel="InProcess"即可;hostingModel="InProcess"代表进程内托管。

原文地址:https://www.cnblogs.com/xbding/p/14669429.html