Параметры по умолчанию для всех сайтов <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 и более поздних версий по умолчанию.
Инструкции
Настройка значений по умолчанию сайта для сервера
Откройте диспетчер служб 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.
В области Подключения разверните имя сервера, а затем щелкните узел Сайты .
На панели Сайты сервера щелкните Задать значения по умолчанию для веб-сайта... в области Действия .
В диалоговом окне Веб-сайт по умолчанию укажите параметры по умолчанию для всех веб-сайтов и нажмите кнопку ОК.
Конфигурация
Атрибуты
Атрибут | Описание |
---|---|
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()