網站 < 網站>
概觀
組 <site>
態專案可控制您在 IIS 7 和更新版本伺服器上執行之特定網站的設定。 例如,預設網站及其設定是在 <site>
元素的開頭和結尾標籤之間找到的 <sites>
元素中定義。
當您在 IIS 7 和更新版本上建立新的網站時,您可以設定 <site>
元素。 元素 <site>
包含 名稱 屬性,定義您指派網站的名稱,以及定義網站數值識別碼的 id 屬性。 元素 <site>
包含子專案,可定義在月臺上執行的應用程式和虛擬目錄,以及網站的埠、通訊協定、記錄和追蹤組態設定。
相容性
版本 | 備註 |
---|---|
IIS 10.0 | 在 <site> IIS 10.0 中未修改專案。 |
IIS 8.5 | 未 <site> 在 IIS 8.5 中修改專案。 |
IIS 8.0 | 在 IIS 8.0 中未修改專案 <site> 。 |
IIS 7.5 | 未 <site> 在 IIS 7.5 中修改專案。 |
IIS 7.0 | <site> 集合的 <sites> 元素是在 IIS 7.0 中引進的。 |
IIS 6.0 | <sites> 集合會取代 IIS 6.0 IIsWebServer中繼基底物件。 |
安裝程式
專案 <site>
包含在 IIS 7 和更新版本的預設安裝中。
作法
當您在 IIS 7 上設定新的網站時,您必須將網站指派網站名稱和實體路徑。 您也可以設定許多選擇性組態設定。 如果您打算繼續使用 IIS 7 伺服器上的預設網站,則必須變更新網站的系結資訊。 您可以藉由變更埠或輸入新網站的主機名稱來執行此動作。
如何建立新的網站
(IIS) 管理員開啟 Internet Information Services:
如果您使用 Windows Server 2012 或 Windows Server 2012 R2:
- 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
如果您使用 Windows 8 或 Windows 8.1:
- 按住Windows鍵,按字母X,然後按一下[主控台]。
- 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
如果您使用 Windows Server 2008 或 Windows Server 2008 R2:
- 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
如果您使用 Windows Vista 或 Windows 7:
- 在工作列上,按一下 [開始],然後按一下[主控台]。
- 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
在 [ 連線 ] 窗格中,展開伺服器名稱,然後按一下 [ 月臺]。
在 [ 動作] 窗格中,按一下 [ 新增網站]
在 [ 新增網站] 對話方塊中,至少在 [ 網站名稱 ] 和 [ 實體路徑 ] 文字方塊中輸入資訊,然後選擇是否要在 [ 主機名稱 ] 文字方塊中輸入資訊,或變更 [ 埠 ] 方塊中的號碼。
在 IIS 管理員上,按一下 [重新整理] 按鈕以確認網站已啟動。
如何啟用或停用 FTP 網站的匿名驗證
(IIS) 管理員開啟 Internet Information Services:
如果您使用 Windows Server 2012 或 Windows Server 2012 R2:
- 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
如果您使用 Windows 8 或 Windows 8.1:
- 按住Windows鍵,按字母X,然後按一下[主控台]。
- 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
如果您使用 Windows Server 2008 或 Windows Server 2008 R2:
- 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
如果您使用 Windows Vista 或 Windows 7:
- 在工作列上,按一下 [開始],然後按一下[主控台]。
- 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
在 [ 連線 ] 窗格中,展開伺服器名稱、展開 [月臺] 節點,然後按一下月臺的名稱。
在網站的 [ 首頁] 窗格中,按兩下 [FTP 驗證 ] 功能。
在 [ FTP 驗證] 頁面上,選取 [匿名驗證]。
如何使用 FTP 網站精靈建立具有匿名讀取存取的 FTP 網站
(IIS) 管理員開啟 Internet Information Services:
如果您使用 Windows Server 2012 或 Windows Server 2012 R2:
- 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
如果您使用 Windows 8 或 Windows 8.1:
- 按住Windows鍵,按字母X,然後按一下[主控台]。
- 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
如果您使用 Windows Server 2008 或 Windows Server 2008 R2:
- 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
如果您使用 Windows Vista 或 Windows 7:
- 在工作列上,按一下 [開始],然後按一下[主控台]。
- 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
在 [ 連線 ] 窗格中,按一下樹狀結構中的 [月臺] 節點。
以滑鼠右鍵按一下樹狀結構中的[月臺]節點,然後按一下 [新增 FTP 站台],或按一下 [動作] 窗格中的 [新增 FTP 站台]。
當 [ 新增 FTP 站 台精靈] 出現時:
在 [新增 FTP 站 台精靈] 的第二個頁面上:
從 [IP 位址] 下拉式清單中選擇 FTP 網站的 IP 位址 ,或選擇接受 [所有未指派] 的預設選取專案。
在 [ 埠 ] 方塊中輸入 FTP 網站的 TCP/IP 埠。 根據預設,FTP 月臺和用戶端會使用埠 21。 (注意:若要指定隱含 FTPS,您必須使用埠 990.)
若要使用 FTP 虛擬主機名稱,請選取 [ 啟用虛擬主機名稱] 的方塊,然後在 [ 虛擬主機 ] 方塊中輸入虛擬主機名稱。
針對 SSL 選項,請選擇下列其中一個選項:
- 選取 [無 SSL ] 以停用 SSL 選項。
- 選取 [允許 SSL ] 以允許 FTP 用戶端在與 FTP 伺服器連線時選擇性地使用 FTP over SSL。
- 選取 [要求 SSL ] 以允許 FTP 用戶端在與 FTP 伺服器連線時一律使用 FTP over SSL。
- 如果您選擇 [允許 SSL ] 或 [ 需要 SSL],請從 [ SSL 憑證 ] 下拉式功能表中選擇憑證。
在精靈的下一頁:
組態
<site>
您可以在 ApplicationHost.config 檔案的伺服器層級設定 專案。
屬性
屬性 | 描述 |
---|---|
id |
選擇性 uint 屬性。 指定建立月臺時 IIS 所指派的亂數值識別碼。 預設網站編號為 1。 其他網站有由多個數位組成的亂數字。 |
name |
選擇性字串屬性。 指定可唯一識別網站的易記名稱,例如「Contoso HR Forms」。 |
serverAutoStart |
選擇性的 Boolean 屬性。 指定當管理服務啟動時,月臺是否應該自動啟動。 預設值是 true 。 |
子元素
元素 | 描述 |
---|---|
application |
選擇性項目。 指定月臺中應用程式的組態設定集合。 |
applicationDefaults |
選擇性項目。 指定父網站中所有應用程式的預設設定。 |
bindings |
選擇性項目。 指定要存取網站的系結。 |
ftpServer |
選擇性項目。 指定網站的 FTP 設定。 注意: 這需要安裝 FTP 7.0 或 FTP 7.5。 |
limits |
選擇性項目。 設定以限制頻寬數量、連線數目或月臺連線的時間量。 |
logFile |
選擇性項目。 設定用於處理和儲存月臺記錄檔的設定。 |
traceFailedRequestsLogging |
選擇性項目。 指定記錄月臺失敗要求追蹤的設定。 |
virtualDirectoryDefaults |
選擇性項目。 指定網站中所有虛擬目錄的預設設定。 |
組態範例
下列組態範例會顯示 <site>
ApplicationHost.config 檔案中的 專案。 name屬性會將網站名稱定義為 Contoso,而id屬性會將 IIS 特定識別碼定義為2。 元素中的 <virtualDirectory>
physicalPath屬性會定義新網站內容的實體位置。 專案的 通訊協定 屬性 <binding>
會定義網站將使用的通訊協定,而 bindingInformation 屬性會 www.contoso.com
定義為新網站所使用的主機標頭。
<site name="Contoso" id="2">
<application path="/">
<virtualDirectory path="/" physicalPath="C:\inetpub\Contoso" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:www.contoso.com" />
</bindings>
</site>
範例程式碼
下列範例會建立名為 Contoso 且識別碼為 2 的新網站,並透過埠 80 設定 HTTP 通訊協定的系結,其主機標頭為 「www.contoso.com」。 新網站的實體路徑為 C:\Inetpub\www.contoso.com\wwwroot。
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2',serverAutoStart='True']" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].bindings.[protocol='http',bindingInformation='*:80:www.contoso.com']" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].[path='/']" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].[path='/'].[path='/',physicalPath='C:\Inetpub\www.contoso.com\wwwroot']" /commit:apphost
注意
當您使用AppCmd.exe設定這些設定時,請務必將 認可 參數 apphost
設定為 。 這會將組態設定認可至ApplicationHost.config檔案中適當的位置區段。
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElementCollection sitesCollection = sitesSection.GetCollection();
ConfigurationElement siteElement = sitesCollection.CreateElement("site");
siteElement["name"] = @"Contoso";
siteElement["id"] = 2;
siteElement["serverAutoStart"] = true;
ConfigurationElementCollection bindingsCollection = siteElement.GetCollection("bindings");
ConfigurationElement bindingElement = bindingsCollection.CreateElement("binding");
bindingElement["protocol"] = @"http";
bindingElement["bindingInformation"] = @"*:80:www.contoso.com";
bindingsCollection.Add(bindingElement);
ConfigurationElementCollection siteCollection = siteElement.GetCollection();
ConfigurationElement applicationElement = siteCollection.CreateElement("application");
applicationElement["path"] = @"/";
ConfigurationElementCollection applicationCollection = applicationElement.GetCollection();
ConfigurationElement virtualDirectoryElement = applicationCollection.CreateElement("virtualDirectory");
virtualDirectoryElement["path"] = @"/";
virtualDirectoryElement["physicalPath"] = @"C:\Inetpub\www.contoso.com\wwwroot";
applicationCollection.Add(virtualDirectoryElement);
siteCollection.Add(applicationElement);
sitesCollection.Add(siteElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim sitesCollection As ConfigurationElementCollection = sitesSection.GetCollection
Dim siteElement As ConfigurationElement = sitesCollection.CreateElement("site")
siteElement("name") = "Contoso"
siteElement("id") = 2
siteElement("serverAutoStart") = True
Dim bindingsCollection As ConfigurationElementCollection = siteElement.GetCollection("bindings")
Dim bindingElement As ConfigurationElement = bindingsCollection.CreateElement("binding")
bindingElement("protocol") = "http"
bindingElement("bindingInformation") = "*:80:www.contoso.com"
bindingsCollection.Add(bindingElement)
Dim siteCollection As ConfigurationElementCollection = siteElement.GetCollection
Dim applicationElement As ConfigurationElement = siteCollection.CreateElement("application")
applicationElement("path") = "/"
Dim applicationCollection As ConfigurationElementCollection = applicationElement.GetCollection
Dim virtualDirectoryElement As ConfigurationElement = applicationCollection.CreateElement("virtualDirectory")
virtualDirectoryElement("path") = "/"
virtualDirectoryElement("physicalPath") = "C:\Inetpub\www.contoso.com\wwwroot"
applicationCollection.Add(virtualDirectoryElement)
siteCollection.Add(applicationElement)
sitesCollection.Add(siteElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var sitesCollection = sitesSection.Collection;
var siteElement = sitesCollection.CreateNewElement("site");
siteElement.Properties.Item("name").Value = "Contoso";
siteElement.Properties.Item("id").Value = 2;
siteElement.Properties.Item("serverAutoStart").Value = true;
var bindingsCollection = siteElement.ChildElements.Item("bindings").Collection;
var bindingElement = bindingsCollection.CreateNewElement("binding");
bindingElement.Properties.Item("protocol").Value = "http";
bindingElement.Properties.Item("bindingInformation").Value = "*:80:www.contoso.com";
bindingsCollection.AddElement(bindingElement);
var siteCollection = siteElement.Collection;
var applicationElement = siteCollection.CreateNewElement("application");
applicationElement.Properties.Item("path").Value = "/";
var applicationCollection = applicationElement.Collection;
var virtualDirectoryElement = applicationCollection.CreateNewElement("virtualDirectory");
virtualDirectoryElement.Properties.Item("path").Value = "/";
virtualDirectoryElement.Properties.Item("physicalPath").Value = "C:\\Inetpub\\www.contoso.com\\wwwroot";
applicationCollection.AddElement(virtualDirectoryElement);
siteCollection.AddElement(applicationElement);
sitesCollection.AddElement(siteElement);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set sitesCollection = sitesSection.Collection
Set siteElement = sitesCollection.CreateNewElement("site")
siteElement.Properties.Item("name").Value = "Contoso"
siteElement.Properties.Item("id").Value = 2
siteElement.Properties.Item("serverAutoStart").Value = True
Set bindingsCollection = siteElement.ChildElements.Item("bindings").Collection
Set bindingElement = bindingsCollection.CreateNewElement("binding")
bindingElement.Properties.Item("protocol").Value = "http"
bindingElement.Properties.Item("bindingInformation").Value = "*:80:www.contoso.com"
bindingsCollection.AddElement bindingElement
Set siteCollection = siteElement.Collection
Set applicationElement = siteCollection.CreateNewElement("application")
applicationElement.Properties.Item("path").Value = "/"
Set applicationCollection = applicationElement.Collection
Set virtualDirectoryElement = applicationCollection.CreateNewElement("virtualDirectory")
virtualDirectoryElement.Properties.Item("path").Value = "/"
virtualDirectoryElement.Properties.Item("physicalPath").Value = "C:\Inetpub\www.contoso.com\wwwroot"
applicationCollection.AddElement(virtualDirectoryElement)
siteCollection.AddElement applicationElement
sitesCollection.AddElement siteElement
adminManager.CommitChanges()