实验13 使用IIS 70 PowerShell 创建web站点Web应用虚拟路径和应用程序池.docx
- 文档编号:11120604
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:9
- 大小:18.93KB
实验13 使用IIS 70 PowerShell 创建web站点Web应用虚拟路径和应用程序池.docx
《实验13 使用IIS 70 PowerShell 创建web站点Web应用虚拟路径和应用程序池.docx》由会员分享,可在线阅读,更多相关《实验13 使用IIS 70 PowerShell 创建web站点Web应用虚拟路径和应用程序池.docx(9页珍藏版)》请在冰豆网上搜索。
实验13使用IIS70PowerShell创建web站点Web应用虚拟路径和应用程序池
实验1-3使用IIS7.0PowerShell创建web站点,Web应用,虚拟路径和应用程序池
使用IIS7.0PowerShell创建web站点,Web应用,虚拟路径和应用程序池
原文链接:
CreatingWeb-Sites,WebApplications,VirtualDirectoriesandApplicationPools
在本文中您将学会如何去创建WEB站点,WebApplications,虚拟目录和应用程序池.
介绍
IISPowerShell名空间包括诸如:
Web-Sites,Apps,VirtualDirectories和ApplicationPools.
使用内置的PowerShellcmdlets可以很容易创建一个名空间项和管理该项.
创建Web站点
如果您熟悉PowerShell的话,就会知道在各种PowerShell名空间下New-Itemcmdlet通常被用于创建
新项。
举个例子,当前命令"New-Itemc:
\TestDirectory" 会创建一个新的文件夹(尽管多数人使用New-Item
的别名命令 "MD"或"MKDIR" ).在IIS7.0PowerShell名空间下,New-Item也常用于创建新的Web站点.
参数
在创建一个文件系统路径时,您需要指定一个路径名称.不巧的是当前创建WEB站点时这是不够的.除了像
文件系统路径这样的参数之外,还需要networkbindings.下面的命令用于创建一个新的WEB站点并使用dir命令
进行显示:
PS IIS:
\Sites> New-Item iis:
\Sites\TestSite -bindings @{protocol="http";bindingInformation=":
80:
TestSite"} -physicalPath c:
\test
PS IIS:
\Sites> dir
Name ID State Physical Path Bindings
---- -- ----- ------------- --------
Default Web Site 1 Started f:
\inetpub\wwwroot http *:
80:
TestSite 2 Started c:
\test http :
80:
TestSite
这里直接使用了-physicalPath参数.然而您可能会问:
-bindings看起来咋这么复杂?
.
在构造时通常使用hashtable(在这里了解更多PowerShellhashtables信息). hashtable中的键值对表示一个
设置集合,该集合在IIS站点bindingssection中会反射出相关属性:
80: TestSite" /> 现在我们找出了一个使用hashtable的原因: IIS配置是可以使用属性进行扩展的。 (查看这里 了解更多信息) .您 可以想像一下使用其它属性扩展 坦白说,该语法有一点复杂.我们正在考虑在TechPreview中封装一些典型任务: 比如创建站点的方法或脚本。 删除站点 下面是删除刚创建的站点. PS IIS: \ >Remove-Item IIS: \Sites\TestSite 创建WebApplications 创建WebApplications要比创建站点要容易.下面: PS IIS: \> New-Item 'IIS: \Sites\Default Web Site\DemoApp' -physicalPath c: \test -type Application Name ApplicationPool EnabledProtocols PhysicalPath ---- --------------- ---------------- ------------ DemoApp DefaultAppPool http c: \test 您仅需指定的一个参数是type(-type),因为在一个站点下,您可能要创建一个Applications或一个虚拟路径. 通过指定-type参数,就会告之IISProvider要创建一个application. 要删除这个application的话,也可以使用Remove-Item(见上面删除站点). 创建虚拟目录 要创建虚拟目录,您也要使用New-Itemcmdlet.下面会在指定站点(DefaultWebSite)下创建两个虚拟目录。 一个位于站点下,一个位于刚创建的WebApplication(DemoApp)下面. PS IIS: \> New-Item 'IIS: \Sites\Default Web Site\DemoVirtualDir1' -type VirtualDirectory -physicalPath c: \test\virtualDirectory1 Name PhysicalPath ---- ------------ DemoVirtualDir1 c: \test\virtualDirectory1 PS IIS: \> New-Item 'IIS: \Sites\Default Web Site\DemoApp\DemoVirtualDir2' -type VirtualDirectory -physicalPath c: \test\virtualDirectory2 Name PhysicalPath ---- ------------ DemoVirtualDir2 c: \test\virtualDirectory2 创建应用程序池 创建应用程序池更简单.仅需指定一个名称即可. PS IIS: \> new-item AppPools\DemoAppPool Name State ---- ----- DemoAppPool {} 简单吧,不是吗? 现在让我们将这些知识点连起来做一个完整的方案. 将所有知识点连在一起 在这个方案中,我们将执行下面这些步骤: 1.创建一系列的文件系统路径用于绑定站点,webapplications和虚拟文件。 2.向新创建的目录下拷贝一些简单的web内容。 3.创建一个新的应用程序池。 4.创建一个新的站点,一个新的application以及两个虚拟目录并将其绑到新创建的应用程序池上。 5.使用浏览器请求(访问这些内容)。 步骤1: 创建目录 我们使用New-Itemcmdlet来创建新的文件系统目录.执行下面命令(如不想指定-type参数的话,可使用'md'): New-Item C: \DemoSite -type Directory New-Item C: \DemoSite\DemoApp -type Directory New-Item C: \DemoSite\DemoVirtualDir1 -type Directory New-Item C: \DemoSite\DemoVirtualDir2 -type Directory 步骤 2: 拷贝内容 现在向这些目录中写入一些html内容(文件): Set-Content C: \DemoSite\Default.htm "DemoSite Default Page" Set-Content C: \DemoSite\DemoApp\Default.htm "DemoSite\DemoApp Default Page" Set-Content C: \DemoSite\DemoVirtualDir1\Default.htm "DemoSite\DemoVirtualDir1 Default Page" Set-Content C: \DemoSite\DemoVirtualDir2\Default.htm "DemoSite\DemoApp\DemoVirtualDir2 Default Page" 步骤 3: 创建新的应用程序池 为站点创建一个新的应用程序池'DemoAppPool'(如之前的例子中您也创建的话,请先删除它). New-Item IIS: \AppPools\DemoAppPool Step4: 创建新的站点,WebApplications和虚拟目录并绑定到应用程序池上 这里简化一下,我们创建DemoSite,DemoApp和两个虚拟目录: DemoVirtualDir1绑定到DemoSite下 DemoVirtualDir2绑定到DemoApp下 我们将DemoSite和DemoApp绑定到之前创建的DemoAppPool上.为了不与'DefaultWebSite'冲突, 这里DemoSite的端口设置为8080: New-Item IIS: \Sites\DemoSite -physicalPath C: \DemoSite -bindings @{protocol="http";bindingInformation=": 8080: "} Set-ItemProperty IIS: \Sites\DemoSite -name applicationPool -value DemoAppPool New-Item IIS: \Sites\DemoSite\DemoApp -physicalPath C: \DemoSite\DemoApp -type Application Set-ItemProperty IIS: \sites\DemoSite\DemoApp -name applicationPool -value DemoAppPool New-Item IIS: \Sites\DemoSite\DemoVirtualDir1 -physicalPath C: \DemoSite\DemoVirtualDir1 -type VirtualDirectory New-Item IIS: \Sites\DemoSite\DemoApp\DemoVirtualDir2 -physicalPath C: \DemoSite\DemoVirtualDir2 -type VirtualDirectory 好,下面就要请求这些web内容了。 步骤 5: 请求Web内容 当然,您可以打开浏览器并敲入地址http: //localhost: 8080/,以及其它链接(上面已创建)。 但本文是PowerShell 的walkthrough所以我们使用.NETWebClientclasses来实现这个请求: $webclient = New-Object Net.WebClient $webclient.DownloadString("http: //localhost: 8080/"); $webclient.DownloadString("http: //localhost: 8080/DemoApp"); $webclient.DownloadString("http: //localhost: 8080/DemoVirtualDir1"); $webclient.DownloadString("http: //localhost: 8080/DemoApp/DemoVirtualDir2"); If you feeling adventurous you can also use Internet Explorer object itself: $ie = new-object -com InternetExplorer.Application $ie.Visible = $true $ie.Navigate(http: //localhost: 8080/); 总结 本文中,您了解了如何使用PowerShell创建WEB站点,WebApplications,虚拟目录和应用程序池. 除此之外,我们还使用PowerShell创建了一个功能(函数)化的完整方案. 译者注: PowerShellProviderforIIS7.0(x86)-CTP2下载连接,请点击这里: ) 当然除了上面的方式来管理IIS站点之外,还可以使用Microsoft.Web.Administration(该dll位于"Windows\ System32\inetsrv目录下)。 下面的PS脚本就是实现指量创建,删除等站点操作功能的: function Setup-IIS { param([int]$NumSites) for($i=0 ; $i -lt $NumSites ; $i++) { $Appfolder = "c: \inetpub\webroot\Site$i" if (-not (test-path $Appfolder)) { md $AppFolder -force | out-null $defaultHTM = "$Appfolder\default.htm" echo "This is site $i" | out-file $defaultHTM } } } function Cleanup-IIS { param([int]$NumSites) [System.Reflection.Assembly]: : LoadWithPartialName("Microsoft.Web.Administration") $mgr = new-object Microsoft.Web.Administration.serverManager for($i=0 ; $i -lt $NumSites ; $i++) { $AppPoolName= "AppPool_$i" $SiteName = "WebSite_$i" $Appfolder = "c: \inetpub\webroot\Site$i" $mgr.Sites.Remove($mgr.Sites[$SiteName]) $mgr.ApplicationPools.Remove($mgr.ApplicationPools[$AppPoolName]) if (test-path $Appfolder) { rd $Appfolder -recurse } } $mgr.CommitChanges() } function Makewebs-IIS { param([int]$NumSites) $start = get-date [System.Reflection.Assembly]: : LoadWithPartialName("Microsoft.Web.Administration") | out-null $mgr = new-object Microsoft.Web.Administration.serverManager for($i=0 ; $i -lt $NumSites ; $i++) { $AppPoolName= "AppPool_$i" $SiteName = "WebSite_$i" $portNumber = 8000 + $i $mgr.ApplicationPools.Add($AppPoolName) | out-null $Appfolder = "c: \inetpub\webroot\Site$i" $site = $mgr.Sites.Add($SiteName,$Appfolder,$portNumber) $site.ServerAutoStart = $true $app = $site.Applications[0] $app.ApplicationPoolName = $AppPoolName #$site.Bindings.Add("*: $portNumber: ", "http") | out-null } $mgr.CommitChanges() $duration = [DateTime]: : Now - $start write-host "Total seconds: " + $duration.TotalSeconds.Tostring() } 我们只要以“管理员身份”运行Powershell,并在命令行下输入如下(以创建站点为例)代码: >Makewebs-IIS 10 这样就会批量创建10web站点了: ) 好了,今天的内容就先到这里了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验13 使用IIS 70 PowerShell 创建web站点Web应用虚拟路径和应用程序池 实验 13 使用 IIS 创建 web 站点 应用 虚拟 路径 应用程序
链接地址:https://www.bdocx.com/doc/11120604.html