您现在的位置是:首页 >其他 >使用PowerShell自动部署ASP.NetCore程序到IIS网站首页其他

使用PowerShell自动部署ASP.NetCore程序到IIS

假装我不帅 2023-05-14 19:27:12
简介使用PowerShell自动部署ASP.NetCore程序到IIS

asp.net core

安装asp.net core sdk

https://dotnet.microsoft.com/en-us/download/dotnet/3.1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建asp.net core项目

dotnet new webapi

在这里插入图片描述
在这里插入图片描述
运行项目
在这里插入图片描述
访问https://localhost:5001/WeatherForecast
在这里插入图片描述

iis配置

安装iis

以管理员身份运行powershell

Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole, IIS-WebServer, IIS-CommonHttpFeatures, IIS-ManagementConsole, IIS-HttpErrors, IIS-HttpRedirect, IIS-WindowsAuthentication, IIS-StaticContent, IIS-DefaultDocument, IIS-HttpCompressionStatic, IIS-DirectoryBrowsing

在这里插入图片描述

安装hosting bundle

https://dotnet.microsoft.com/en-us/download/dotnet/3.1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
也可以命令行安装

Invoke-WebRequest -Uri "https://aka.ms/dotnetcore.2.0.0-windowshosting" -OutFile "DotNetCore.WindowsHosting.exe"
Start-Process "DotNetCore.WindowsHosting.exe" -Wait

重启iis服务

Invoke-Expression "net stop was /y"
Invoke-Expression "net start w3svc"

在这里插入图片描述
可以使用以下命令来检测ASPNetCoreModule是否已安装

# asp.net core 2.0以前
Get-WebGlobalModule -Name AspNetCoreModule -ErrorAction Ignore
# asp.net core 3.1之后
Get-WebGlobalModule -Name AspNetCoreModuleV2 -ErrorAction Ignore

出现如下信息说明安装成功了
在这里插入图片描述

创建网站

以管理员身份启动powershell

首先我们要引入PowerShell中的WebAdministration模块,这样就可以对IIS进行相关的操作了

Import-Module WebAdministration

创建应用程序池
接下来要创建一个应用程序池,名称为TestApp

New-Item -path IIS:AppPoolsTestApp

在这里插入图片描述
把应用程序池的.Net版本设置为无托管代码

Set-ItemProperty -Path IIS:AppPoolsTestApp -Name managedRuntimeVersion -Value ''

在这里插入图片描述
在这里插入图片描述
发布项目

dotnet publish

在这里插入图片描述
在这里插入图片描述
创建了应用程序池之后,就要创建一个网站,并使用刚创建的应用程序池TestApp,将网站的名称设置为TestSite,并指向你的网站路径如
C:UsersAdministratorDesktop estinDebug etcoreapp3.1publish

New-Website -name TestSite -PhysicalPath "C:UsersAdministratorDesktop	estinDebug
etcoreapp3.1publish" -ApplicationPool TestApp -Port 8080

在这里插入图片描述
在这里插入图片描述
访问https://localhost:8080/WeatherForecast
https的原因
在这里插入图片描述
在这里插入图片描述
这行代码搞的鬼,重新发布即可
在这里插入图片描述
给发布网站的文件夹添加everyone权限
在这里插入图片描述
在这里插入图片描述

参考

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。