Поделиться через


Параметры по умолчанию для всех сайтов <siteDefaults>

Общие сведения

Элемент <siteDefaults> задает параметры по умолчанию для всех сайтов на сервере. Эти параметры полезны, если требуется указать параметры для всех веб-сайтов, которые отличаются от схемы по умолчанию для IIS 7 и более поздних версий.

Примечание

Если один и тот же атрибут или дочерний элемент настроен как в разделе, так <siteDefaults> и в <sites> разделе для определенного сайта, конфигурация в <sites> разделе используется для этого сайта.

Совместимость

Версия Примечания
IIS 10.0 Элемент <siteDefaults> не был изменен в IIS 10.0.
IIS 8,5 Элемент <siteDefaults> не был изменен в IIS 8.5.
IIS 8,0 Элемент <siteDefaults> не был изменен в IIS 8.0.
IIS 7,5 Элемент <siteDefaults> не был изменен в IIS 7.5.
IIS 7.0 Элемент <siteDefaults> элемента появился <sites> в IIS 7.0.
IIS 6,0 Элемент <siteDefaults> аналогиен параметрам веб-сайта по умолчанию на уровне W3SVC в метабазе IIS 6.0.

Настройка

Элемент <siteDefaults><sites> элемента включен в установку 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. В диалоговом окне Веб-сайт по умолчанию укажите параметры по умолчанию для всех веб-сайтов и нажмите кнопку ОК.

    Снимок экрана: диалоговое окно

Конфигурация

Атрибуты

Атрибут Описание
id Необязательный атрибут uint.

Указывает случайный числовой идентификатор, который назначается службами IIS при создании сайта.

Веб-сайт по умолчанию имеет номер 1. Другие веб-сайты, назначаемые сервером номера, которые могут состоять из нескольких цифр.
name Необязательный строковый атрибут.

Указывает понятное имя, которое однозначно идентифицирует веб-сайт, например "Contoso HR Forms".
serverAutoStart Дополнительный логический атрибут.

Указывает, должен ли сайт запускаться автоматически при запуске службы управления.

Значение по умолчанию — true.

Дочерние элементы

Элемент Описание
bindings Необязательный элемент.

Задает привязки по умолчанию для доступа к сайтам.
ftpServer Необязательный элемент.

Задает параметры по умолчанию для ftp-сайтов.

Примечание: Для этого необходимо установить FTP 7.0 или FTP 7.5.
limits Необязательный элемент.

Настраивает параметры по умолчанию для ограничения пропускной способности, количества подключений или времени для подключений к сайтам.
logFile Необязательный элемент.

Настраивает параметры по умолчанию для обработки и хранения файлов журналов для сайтов.
traceFailedRequestsLogging Необязательный элемент.

Задает параметры по умолчанию для ведения журнала трассировок неудачных запросов для сайтов.

Образец конфигурации

В следующем примере конфигурации указаны параметры по умолчанию limits, logFile, traceFailedRequestsLogging, bindingsи ftpServer для IIS 7.

<system.applicationHost>
   <sites>
      <siteDefaults>
         <logFile logFormat="W3C"
            directory="%SystemDrive%\inetpub\logs\LogFiles"
            enabled="true" />
         <traceFailedRequestsLogging enabled="true"
            directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles"
            maxLogFiles="20" />
         <limits connectionTimeout="00:01:00" />
         <ftpServer serverAutoStart="true" />
         <bindings>
            <binding protocol="http" bindingInformation="127.0.0.1:8080:" />
         </bindings>
      </siteDefaults>
   </sites>
</system.applicationHost>

Пример кода

В следующих примерах кода настраивают параметры по умолчанию limits, logFile, traceFailedRequestsLogging, bindingsи ftpServer для IIS 7.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.limits.connectionTimeout:"00:02:00" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.logFormat:"W3C" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.directory:"%SystemDrive%\inetpub\logs\LogFiles" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.traceFailedRequestsLogging.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.traceFailedRequestsLogging.directory:"%SystemDrive%\inetpub\logs\FailedReqLogFiles" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.traceFailedRequestsLogging.maxLogFiles:"20" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.bindings.[protocol='http',bindingInformation='*:8080:contoso.com'].bindingInformation:"127.0.0.1:8080:" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.ftpServer.serverAutoStart:"True" /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");
         ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");

         ConfigurationElement limitsElement = siteDefaultsElement.GetChildElement("limits");
         limitsElement["connectionTimeout"] = TimeSpan.Parse("00:02:00");

         ConfigurationElement logFileElement = siteDefaultsElement.GetChildElement("logFile");
         logFileElement["logFormat"] = @"W3C";
         logFileElement["directory"] = @"%SystemDrive%\inetpub\logs\LogFiles";
         logFileElement["enabled"] = true;

         ConfigurationElement traceFailedRequestsLoggingElement = siteDefaultsElement.GetChildElement("traceFailedRequestsLogging");
         traceFailedRequestsLoggingElement["enabled"] = true;
         traceFailedRequestsLoggingElement["directory"] = @"%SystemDrive%\inetpub\logs\FailedReqLogFiles";
         traceFailedRequestsLoggingElement["maxLogFiles"] = 20;

         ConfigurationElementCollection bindingsCollection = siteDefaultsElement.GetCollection("bindings");
         ConfigurationElement bindingElement = bindingsCollection.CreateElement("binding");
         bindingElement["protocol"] = @"http";
         bindingElement["bindingInformation"] = @"127.0.0.1:8080:";
         bindingsCollection.Add(bindingElement);

         ConfigurationElement ftpServerElement = siteDefaultsElement.GetChildElement("ftpServer");
         ftpServerElement["serverAutoStart"] = true;

         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 siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")

      Dim limitsElement As ConfigurationElement = siteDefaultsElement.GetChildElement("limits")
      limitsElement("connectionTimeout") = TimeSpan.Parse("00:02:00")

      Dim logFileElement As ConfigurationElement = siteDefaultsElement.GetChildElement("logFile")
      logFileElement("logFormat") = "W3C"
      logFileElement("directory") = "%SystemDrive%\inetpub\logs\LogFiles"
      logFileElement("enabled") = True

      Dim traceFailedRequestsLoggingElement As ConfigurationElement = siteDefaultsElement.GetChildElement("traceFailedRequestsLogging")
      traceFailedRequestsLoggingElement("enabled") = True
      traceFailedRequestsLoggingElement("directory") = "%SystemDrive%\inetpub\logs\FailedReqLogFiles"
      traceFailedRequestsLoggingElement("maxLogFiles") = 20

      Dim bindingsCollection As ConfigurationElementCollection = siteDefaultsElement.GetCollection("bindings")
      Dim bindingElement As ConfigurationElement = bindingsCollection.CreateElement("binding")
      bindingElement("protocol") = "http"
      bindingElement("bindingInformation") = "127.0.0.1:8080:"
      bindingsCollection.Add(bindingElement)

      Dim ftpServerElement As ConfigurationElement = siteDefaultsElement.GetChildElement("ftpServer")
      ftpServerElement("serverAutoStart") = true

      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 siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");

var limitsElement = siteDefaultsElement.ChildElements.Item("limits");
limitsElement.Properties.Item("connectionTimeout").Value = "00:02:00";

var logFileElement = siteDefaultsElement.ChildElements.Item("logFile");
logFileElement.Properties.Item("logFormat").Value = "W3C";
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\\inetpub\\logs\\LogFiles";
logFileElement.Properties.Item("enabled").Value = true;

var traceFailedRequestsLoggingElement = siteDefaultsElement.ChildElements.Item("traceFailedRequestsLogging");
traceFailedRequestsLoggingElement.Properties.Item("enabled").Value = true;
traceFailedRequestsLoggingElement.Properties.Item("directory").Value = "%SystemDrive%\\inetpub\\logs\\FailedReqLogFiles";
traceFailedRequestsLoggingElement.Properties.Item("maxLogFiles").Value = 20;

var bindingsCollection = siteDefaultsElement.ChildElements.Item("bindings").Collection;
var bindingElement = bindingsCollection.CreateNewElement("binding");
bindingElement.Properties.Item("protocol").Value = "http";
bindingElement.Properties.Item("bindingInformation").Value = "127.0.0.1:8080:";
bindingsCollection.AddElement(bindingElement);

var ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer");
ftpServerElement.Properties.Item("serverAutoStart").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")

Set limitsElement = siteDefaultsElement.ChildElements.Item("limits")
limitsElement.Properties.Item("connectionTimeout").Value = "00:02:00"

Set logFileElement = siteDefaultsElement.ChildElements.Item("logFile")
logFileElement.Properties.Item("logFormat").Value = "W3C"
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement.Properties.Item("enabled").Value = True

Set traceFailedRequestsLoggingElement = siteDefaultsElement.ChildElements.Item("traceFailedRequestsLogging")
traceFailedRequestsLoggingElement.Properties.Item("enabled").Value = True
traceFailedRequestsLoggingElement.Properties.Item("directory").Value = "%SystemDrive%\inetpub\logs\FailedReqLogFiles"
traceFailedRequestsLoggingElement.Properties.Item("maxLogFiles").Value = 20

Set bindingsCollection = siteDefaultsElement.ChildElements.Item("bindings").Collection
Set bindingElement = bindingsCollection.CreateNewElement("binding")
bindingElement.Properties.Item("protocol").Value = "http"
bindingElement.Properties.Item("bindingInformation").Value = "127.0.0.1:8080:"
bindingsCollection.AddElement(bindingElement)

Set ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer")
ftpServerElement.Properties.Item("serverAutoStart").Value = True

adminManager.CommitChanges()