Compartilhar via


Sites de <sites>

Visão geral

O grupo de seções de <sites> contém os conjuntos de configurações, para todos os sites em um servidor do IIS 7. O elemento <sites> contém uma coleção de elementos <site>. Ao criar site, o IIS adiciona um elemento <site> à coleção.

Cada elemento <site> contém os conjuntos de configurações para um site separado hospedado na instalação do IIS 7. Por exemplo, o Site Padrão e suas configurações são definidos em um elemento <site> localizado entre as marcas de abertura e fechamento do elemento<sites>. Os elementos de configuração para qualquer site adicional que você criar também estão localizados lá.

O grupo de seções de <sites> também pode conter os elementos <siteDefaults>, <applicationDefaults> e <virtualDirectoryDefaults>. O elemento <siteDefaults> define os conjuntos de configurações padrão para qualquer site em execução no servidor, o elemento <applicationDefaults> define os conjuntos de configurações padrão, para qualquer aplicativo em execução no servidor e o elemento <virtualDirectoryDefaults> define os conjuntos de configurações padrão, para qualquer diretório virtual em execução no servidor.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <sites> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <sites> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <sites> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <sites> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <sites> foi introduzido no IIS 7.0.
IIS 6,0 A coleção <sites> substitui o objeto de metabase IIsWebServer no IIS 6.0.

Instalação

O elemento <sites> está incluído na instalação padrão do IIS 7.

Instruções

Ao configurar um novo site no IIS 7, atribua ao site um nome de site e um caminho físico. Há também vários os conjuntos de configurações opcionais que você poderá definir. Caso planeje continuar a usar o Site Padrão no servidor IIS 7, deverá alterar as informações de associação para o novo site. Faça isso alterando a porta ou inserindo um nome de host para o novo site.

Como criar um site da Web

  1. Abra o Gerenciador do IIS (Serviços de Informações da Internet):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador do IIS (Serviços de Informações da Internet).
  2. No painel Conexões, expanda o nome do servidor e selecione Sites.

  3. No painel Ações, selecione Adicionar Site....

  4. Na caixa de diálogo Adicionar Site da Web, no mínimo, insira informações no nome do Site e nas caixas de texto do caminho físico e escolha se deseja inserir informações na caixa de texto Nome do Host ou alterar o número na caixa Porta.
    Screenshot of the Add Web Site dialog box showing the Site Name and Physical path fields.

  5. No Gerenciador do IIS, selecione o botão atualizar para verificar se o site foi iniciado.

Configuração

Você configura o elemento <sites> no nível do servidor no arquivo ApplicationHost.config.

Atributos

Nenhum.

Elementos filho

Elemento Descrição
applicationDefaults Elemento opcional.

Especifica as configurações padrão para todos os aplicativos no servidor.
site Elemento opcional.

Especifica os conjuntos de configurações para um site.
siteDefaults Elemento opcional.

Especifica as configurações padrão para todos os sites no servidor.
virtualDirectoryDefaults Elemento opcional.

Especifica as configurações padrão para todos os diretórios virtuais no servidor.

Exemplo de configuração

O elemento padrão <sites> a seguir é configurado no arquivo ApplicationHost.config raiz no IIS 7.

<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>

Compatibilidade

Em combinação com o elemento <site>, o elemento <sites> substitui a propriedade de metabase IIsWebServer do IIS 6.0.

Exemplo de código

Os exemplos a seguir criam um site chamado Contoso com uma ID de 2 e definem uma associação para o protocolo HTTP pela porta 80 com um cabeçalho de host de "www.contoso.com". O caminho físico para o novo site é 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

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma os conjuntos de configurações para a seção de local apropriado no arquivo 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()