사이트 사이트 <>

개요

섹션 그룹에는 <sites> IIS 7 서버의 모든 사이트에 대한 구성 설정이 포함되어 있습니다. 요소에는 <sites> 요소의 <site> 컬렉션이 포함되어 있습니다. 새 웹 사이트를 만들 때 IIS는 컬렉션에 <site> 요소를 추가합니다.

<site> 요소에는 IIS 7 설치에서 호스트되는 별도의 웹 사이트에 대한 구성 설정이 포함되어 있습니다. 예를 들어 기본 웹 사이트 및 해당 설정은 요소의 <sites> 여는 태그와 닫는 태그 사이에 있는 요소에 정의 <site> 됩니다. 만드는 추가 사이트의 구성 요소도 여기에 있습니다.

섹션 그룹에는 <sites> , <applicationDefaults><virtualDirectoryDefaults> 요소가 포함될 <siteDefaults>수도 있습니다. 요소는 <siteDefaults> 서버에서 실행되는 모든 사이트에 대한 기본 구성 설정을 정의하고, <applicationDefaults> 요소는 서버에서 실행되는 모든 애플리케이션에 대한 기본 구성 설정을 정의하고 <virtualDirectoryDefaults> , 요소는 서버에서 실행되는 모든 가상 디렉터리에 대한 기본 구성 설정을 정의합니다.

호환성

버전 참고
IIS 10.0 <sites> 요소가 IIS 10.0에서 수정되지 않았습니다.
IIS 8.5 <sites> 요소가 IIS 8.5에서 수정되지 않았습니다.
IIS 8.0 <sites> 요소가 IIS 8.0에서 수정되지 않았습니다.
IIS 7.5 <sites> 요소가 IIS 7.5에서 수정되지 않았습니다.
IIS 7.0 요소는 <sites> IIS 7.0에서 도입되었습니다.
IIS 6.0 컬렉션은 <sites> IIS 6.0 IIsWebServer 메타베이스 개체를 대체합니다.

설치 프로그램

요소는 <sites> IIS 7의 기본 설치에 포함됩니다.

방법

IIS 7에서 새 웹 사이트를 구성할 때 웹 사이트에 사이트 이름과 실제 경로를 할당해야 합니다. 설정할 수 있는 여러 선택적 구성 설정도 있습니다. IIS 7 서버에서 기본 웹 사이트를 계속 사용하려는 경우 새 사이트에 대한 바인딩 정보를 변경해야 합니다. 포트를 변경하거나 새 웹 사이트의 호스트 이름을 입력하여 이 작업을 수행할 수 있습니다.

새 웹 사이트를 만드는 방법

  1. IIS(인터넷 정보 서비스) 관리자를 엽니다.

    • Windows Server 2012 또는 Windows Server 2012 R2를 사용하는 경우:

      • 작업 표시줄에서 서버 관리자 클릭하고 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
    • Windows 8 또는 Windows 8.1 사용하는 경우:

      • Windows 키를 누른 채로 문자 X를 누른 다음 제어판 클릭합니다.
      • 관리 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
    • Windows Server 2008 또는 Windows Server 2008 R2를 사용하는 경우:

      • 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
    • Windows Vista 또는 Windows 7을 사용하는 경우:

      • 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
      • 관리 도구를 두 번 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
  2. 연결 창에서 서버 이름을 확장한 다음 사이트를 클릭합니다.

  3. 작업 창에서 웹 사이트 추가...를 클릭합니다.

  4. 웹 사이트 추가 대화 상자에서 최소한 사이트 이름실제 경로 텍스트 상자에 정보를 입력하고 호스트 이름 텍스트 상자에 정보를 입력할지 아니면 포트 상자에서 번호를 변경할지 선택합니다.
    사이트 이름 및 실제 경로 필드를 보여 주는 웹 사이트 추가 대화 상자의 스크린샷

  5. IIS 관리자에서 새로 고침 단추를 클릭하여 사이트가 시작되었는지 확인합니다.

구성

ApplicationHost.config 파일의 서버 수준에서 요소를 구성 <sites> 합니다.

특성

없음

자식 요소

요소 Description
applicationDefaults 선택적 요소입니다.

서버의 모든 애플리케이션에 대한 기본 설정을 지정합니다.
site 선택적 요소입니다.

사이트의 구성 설정을 지정합니다.
siteDefaults 선택적 요소입니다.

서버의 모든 사이트에 대한 기본 설정을 지정합니다.
virtualDirectoryDefaults 선택적 요소입니다.

서버의 모든 가상 디렉터리에 대한 기본 설정을 지정합니다.

구성 샘플

다음 기본 <sites> 요소는 IIS 7의 루트 ApplicationHost.config 파일에 구성됩니다.

<sites>
   <site name="Default Web Site" id="1">
      <application path="/">
         <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
      </application>
      <bindings>
         <binding protocol="http" bindingInformation="*:80:" />
      </bindings>
   </site>
   <siteDefaults>
      <logFile logFormat="W3C" directory="%SystemDrive%\inetpub\logs\LogFiles" />
      <traceFailedRequestsLogging directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles" />
    </siteDefaults>
   <applicationDefaults applicationPool="DefaultAppPool" />
   <virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

호환성

요소 <sites><site> 함께 요소는 IIS 6.0 IIsWebServer 메타베이스 속성을 대체합니다.

샘플 코드

다음 예제에서는 ID가 2인 Contoso라는 새 웹 사이트를 만들고 호스트 헤더가 "www.contoso.com"인 포트 80을 통해 HTTP 프로토콜에 대한 바인딩을 설정합니다. 새 웹 사이트의 실제 경로는 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 사용하여 이러한 설정을 구성할 때 commit 매개 변수 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()