当前位置: 首页 > news >正文

使用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:\AppPools\TestApp

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

Set-ItemProperty -Path IIS:\AppPools\TestApp -Name managedRuntimeVersion -Value ''

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

dotnet publish

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

New-Website -name TestSite -PhysicalPath "C:\Users\Administrator\Desktop\test\bin\Debug\netcoreapp3.1\publish" -ApplicationPool TestApp -Port 8080

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

参考

http://www.lryc.cn/news/60167.html

相关文章:

  • Elasticsearch:保留字段名称
  • Qt 套接字类(QTcpSocket和QUdpSocket)解密:迈向 Qt 网络编程之巅
  • Python视频编辑库:MoviePy
  • 课程3:ASP.NET Core 身份验证 - Cookie
  • Visual Studio 2022如何安装和使用MSDN
  • 82.qt qml-2D粒子系统、粒子方向、粒子项(一)
  • 引用的底层原理(汇编指令),引用与指针的联系与区别
  • 磁盘的移臂调度算法
  • 软考第六章 网络互连与互联网
  • C6678-缓存和内存
  • 实操| 前端新人无敲代码开发APP
  • OpenCV图像处理之傅里叶变换
  • Docker网络案例
  • Java实验课的学习笔记(二)类的简单使用
  • 实战案例|聚焦攻击面管理,腾讯安全威胁情报守护头部券商资产安全
  • c++算法初级8——递推
  • Java后端面试题 重难点和被问到没答上来的点(包括java基础、关系型数据库、Redis、计算机网络、Spring、Java多线程、vue等)
  • 易观千帆 | 2023年3月银行APP月活跃用户规模盘点
  • [Android+JetPack] (Java实现) Retrofit2+RxJava3+Paging3+RecyclerView 实现加载网络数据例子 记录
  • Java 解析配置文件注入到配置类属性中供全局使用【开发记录】
  • 【Python开发手册】深入剖析Google Python开发规范:规范Python注释写作
  • Python入门教程+项目实战-9.3节: 字符串的操作方法
  • ENVI 5.6软件安装教程
  • 在Windbg中设置断点追踪打开C++程序远程调试开关的模块
  • CRM客户管理软件开发功能有哪些?
  • C++函数式魔法之旅(Journey of Functional Magic)
  • Vue基础入门(上)
  • 字符串匹配—KMP算法
  • 【微信小程序】 权限接口梳理以及代码实现
  • 【每日一词】leit-motif