首先你必须要了解的是,没有脚本的情况下,如何把AspNetCore的应用发布到IIS上。
大致分为这些步骤:
- 安装MS C++ 2015 x86&x64
- 安装正确版本的.NET Core Runtime(如果TargetFramework是netcoreappx)
- 如果在安装 .NET Core Runtime之后安装MS C++ 2015 ,那你可能需要重新安装(修复).NET Core Runtime,如果必要,还需要重启计算机(云服务)
- 发布你的应用
- 创建站点,修改应用程序池非托管(如果是Windows Server 2008R2,可能会502.5错误,其中一种可能是由于应用程序池权限不足的问题导致,这种情况下需要修改应用程序池标识ApplicationPool为LocalSystem)
如何使用脚本完成以上操作?
以下仅列出bat脚本 powershell自行类似
"%windir%system32inetsrvappcmd.exe" delete apppool /apppool.name:你的应用程序池名
"%windir%system32inetsrvappcmd.exe" add apppool /name:你的应用程序池名 /managedRuntimeVersion:"" /processModel.identityType:LocalSystem
"%windir%system32inetsrvappcmd.exe" stop site "你的站点名"
"%windir%system32inetsrvappcmd.exe" delete site "你的站点名"
"%windir%system32inetsrvappcmd.exe" add site /name:"你的站点名" /bindings:http://你绑定的域名:80 /physicalPath:"你的应用目录"
"%windir%system32inetsrvappcmd.exe" set site /site.name:你的站点名 /[path='/'].applicationPool:你的应用程序池名
以上操作,依次为
- 删除应用程序池
- 添加应用程序池 设置无托管 设置应用程序池标识为LocalSystem
- 停止站点
- 删除站点
- 创建站点 绑定域名 设置应用目录
- 绑定站点到先前创建的应用程序池