PowerShell是微軟公司開發的任務自動化和組態管理框架,相信有接觸過 CI / CD 的人都是聽過且用過這工具,今天就來簡單介紹如何使用 PowerShell 來建立 Application Pool 跟 WebSite 的過程
指令說明
輸入指令
相關指令可以參考 WebAdministration
# import module Import-Module WebAdministration cd IIS:\AppPools\ # Create WebSite New-Item IIS:\Sites\DemoWeb -bindings @{protocol="http";bindingInformation=":80:localhost"} -physicalPath D:\Demo\DemoWeb # Create App pools New-item IIS:\AppPools\DemoPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value "v4.0"程式說明 :
- Line 2 : 先 Import-Module WebAdministration 載入 IIS 管理模組
- Line 6 : 使用 New-Item command 建立 WebSite第一個參數是 bindings 的資訊 : localhost 80 port
第二個參數是應用程式的位置 : D:\Demo\DemoWeb - Line 9 : 建立 AppPool
設定 CLR 為 4.0 以及 Name 為 managedRuntimeVersion
確認結果
在 PowerShell 按下執行,接著輸入以下指令確認是否成功PS C:\> Get-IISAppPool
PS C:\> Get-Website
還記得之前有提到 [IIS] 如何解決網站第一個請求 Request 特別慢 ? 為了加快 Application 啟動問題,需要在 IIS 設定 preloadEnabled 和 AlwaysRunning為 true,我們希望在建立 AppPool & WebSite 時將這兩個設定加在指令中,讓部署時一致化不用在進到 Server 分別調整
安裝 Application Initialization
PS C:\> $webAppInit = Get-WindowsFeature -Name "Web-AppInit" Install-WindowsFeature $webAppInit -ErrorAction Stop新增 WebSite & AppPool
# Create WebSite New-Item IIS:\Sites\DemoWeb -Name applicationDefaults.preloadEnabled -Value True # Create App pools New-item IIS:\AppPools\DemoPool | Set-ItemProperty -Name "startMode" -Value "AlwaysRunning"
powershell-snap-in-creating-web-sites-web-applications-virtual-directories-and-application-pools
enable-IIS-preloadEnabled-and-AlwaysRunning-using-PowerShell
0 意見:
張貼留言