Compartir a través de


Sitios <sitios>

Información general

El grupo de secciones <sites> contiene opciones de configuración para todos los sitios de un servidor IIS 7. El elemento <sites> contiene una colección de elementos <site>. Al crear un nuevo sitio web, IIS agrega un elemento <site> a la colección.

Cada elemento <site> contiene opciones de configuración para un sitio web independiente hospedado en la instalación de IIS 7. Por ejemplo, el sitio web predeterminado y su configuración se definen en un elemento <site> que se encuentra entre las etiquetas de apertura y cierre del elemento <sites>; los elementos de configuración de cualquier sitio adicional que cree también se encuentran allí.

El grupo de secciones <sites> también puede contener los elementos <siteDefaults>, <applicationDefaults> y <virtualDirectoryDefaults>. El elemento <siteDefaults> define los valores de configuración predeterminados para cualquier sitio que se ejecute en el servidor, el elemento <applicationDefaults> define los valores de configuración predeterminados para cualquier aplicación que se ejecute en el servidor y el elemento <virtualDirectoryDefaults> define los valores de configuración predeterminados para cualquier directorio virtual que se ejecute en el servidor.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <sites> no se modificó en IIS 10.0.
IIS 8.5 El elemento <sites> no se modificó en IIS 8.5.
IIS 8.0 El elemento <sites> no se modificó en IIS 8.0.
IIS 7.5 El elemento <sites> no se modificó en IIS 7.5.
IIS 7.0 El elemento <sites> se introdujo en IIS 7.0.
IIS 6,0 La colección <sites> reemplaza el objeto de metabase IIS 6.0 IIsWebServer.

Configuración

El elemento <sites> se incluye en la instalación predeterminada de IIS 7.

Procedimientos

Al configurar un nuevo sitio web en IIS 7, debe asignar al sitio web un nombre de sitio y una ruta de acceso física. También hay una serie de opciones de configuración opcionales que puede establecer. Si tiene previsto seguir usando el sitio web predeterminado en el servidor IIS 7, debe modificar la información de enlace del nuevo sitio. Para ello, cambie el puerto o escriba un nombre de host para el nuevo sitio web.

Cómo crear un sitio web

  1. Abra el Administrador de Internet Information Services (IIS):

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, expanda el nombre del servidor y, después, haga clic en Sitios.

  3. En el panel Acciones, haga clic en Agregar sitio web....

  4. En el cuadro de diálogo Agregar sitio web, como mínimo, escriba información en los cuadros de texto Nombre del sitio y Ruta de acceso física y elija si desea escribir información en el cuadro de texto Nombre de host o cambiar el número en el cuadro Puerto.
    Screenshot of the Add Web Site dialog box showing the Site Name and Physical path fields.

  5. En el Administrador de IIS, haga clic en el botón Actualizar para comprobar que el sitio se ha iniciado.

Configuración

Puede configurar el elemento <sites> en el nivel de servidor en el archivo ApplicationHost.config.

Atributos

Ninguno.

Elementos secundarios

Elemento Descripción
applicationDefaults Elemento opcional.

Especifica la configuración predeterminada para todas las aplicaciones del servidor.
site Elemento opcional.

Especifica los valores de configuración de un sitio.
siteDefaults Elemento opcional.

Especifica la configuración predeterminada para todos los sitios del servidor.
virtualDirectoryDefaults Elemento opcional.

Especifica la configuración predeterminada para todos los directorios virtuales del servidor.

Ejemplo de configuración

El siguiente elemento <sites> predeterminado se configura en el archivo ApplicationHost.config raíz en 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>

Compatibilidad

En combinación con el elemento <site>, el elemento <sites> reemplaza la propiedad de metabase IIsWebServer de IIS 6.0.

Código de ejemplo

En los ejemplos siguientes se crea un sitio web denominado Contoso con un identificador 2 y se establece un enlace para el protocolo HTTP a través del puerto 80 con un encabezado de host de "www.contoso.com". La ruta de acceso física del nuevo sitio web es 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

Nota:

Debe asegurarse de establecer el parámetro de confirmación en apphost cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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()