Сценарий. Создание классического веб-сайта ASP в IIS
В этом документе описывается процесс установки IIS и настройки классического веб-сайта ASP. Classic ASP — это серверная среда сценариев, которую можно использовать для создания и выполнения динамических веб-приложений. В ASP вы можете сочетать HTML-страницы, команды сценариев и компоненты COM для создания интерактивных веб-страниц, которые просты для разработки и изменения. Среда Classic ASP была создана до ASP.NET, но все еще широко используется в настоящее время.
Конфигурация сервера Classic ASP добавляет модули IIS для расширений ASP и ISAPI в установку IIS по умолчанию.
Необходимые компоненты
Чтобы получить большую часть из этого руководства, необходимо иметь доступ к компьютеру, на котором выполняется одна из следующих операционных систем:
- Windows Server® 2012
- Windows® 8
Шаг 1. Установка веб-сервера IIS
Эту процедуру можно выполнить с помощью пользовательского интерфейса Windows или из командной строки.
Установка IIS в Windows Server 2012 с помощью пользовательского интерфейса
На начальной странице щелкните плитку Диспетчер серверов и нажмите кнопку ОК.
В окне диспетчера серверовщелкните элемент Панель мониторинга, а затем выберите Добавить роли и компоненты.
В окне мастера добавления ролей и компонентовна странице Перед началом работы нажмите кнопку Далее.
На странице выбора типа установки выберите Установка ролей или компонентов и нажмите кнопку Далее.
На странице выбора целевого сервера нажмите Выберите сервер из пула серверови нажмите кнопку Далее.
На странице выбора ролей сервера щелкните Веб-сервер (IIS)и нажмите кнопку Далее.
На странице выбора компонентов обратите внимание на предварительно выбранные компоненты, устанавливаемые по умолчанию, и выберите следующие дополнительные службы ролей:
- ASP
- Расширения ISAPI
Нажмите кнопку Далее.
На странице Роль веб-сервера (IIS) щелкните Далее.
На странице выбора служб ролей обратите внимание на предварительно выбранные службы ролей, устанавливаемые по умолчанию, и нажмите кнопку Далее. (Примечание. Необходимо установить только службы ролей IIS 8 по умолчанию для веб-сервера статического содержимого.)
На странице подтверждения выбранных элементов для установки подтвердите выбранные элементы и нажмите кнопку Установить.
На странице Ход установки подтвердите успешное завершение установки роли веб-сервера (IIS) и необходимых служб ролей, а затем нажмите кнопку Закрыть.
Чтобы проверить успешность установки IIS, введите в веб-браузере следующий текст:
http://localhost
Вы должны увидеть страницу приветствия IIS по умолчанию.
Установка IIS в Windows 8 с помощью пользовательского интерфейса
На начальной странице введите Панель управления, а затем щелкните значок панели управления в результатах поиска.
В панели управлениящелкните раздел Программы, а затем выберите пункт Включение или отключение компонентов Windows.
В диалоговом окне Компоненты Windows щелкните пункт Службы IIS, обратите внимание на предварительно выбранные компоненты, устанавливаемые по умолчанию, и выберите следующие дополнительные службы ролей:
- ASP
- Расширения ISAPI
Щелкните OK.
Чтобы проверить успешность установки IIS, введите в веб-браузере следующий текст:
http://localhost
Вы увидите страницу приветствия IIS по умолчанию.
Установка IIS с помощью командной строки
Введите в командной строке или в скрипте следующую команду:
Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-ApplicationDevelopment;IIS-ASP;IIS-ISAPIExtensions;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;IIS-ManagementConsole;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI
Шаг 2. Добавление веб-сайта Classic ASP
Эту процедуру можно выполнить в пользовательском интерфейсе, вводя команды Appcmd.exe в окне командной строки, путем изменения файлов конфигурации напрямую или путем написания скриптов WMI.
Добавление веб-сайта с помощью пользовательского интерфейса
Откройте диспетчер служб IIS.
- Для Windows Server 2012 на начальной странице щелкните плитку диспетчер сервера и нажмите кнопку "ОК". В панели мониторинга диспетчера серверовщелкните меню Инструменты и выберите Диспетчер служб (IIS).
- Для Windows 8 на начальной странице панель управления и щелкните значок панель управления в результатах поиска. На экране панели управления выберите раздел Система и безопасность, выберите Администрирование,а затем щелкните пункт Диспетчер служб IIS.
В области Подключения щелкните правой кнопкой мыши узел Сайты в дереве, а затем выберите Добавить веб-сайт.
В диалоговом окне Добавление веб-сайта введите понятное имя для веб-сайта в поле Имя сайта .
Если вы хотите выбрать другой пул приложений, отличный от указанного в поле Пул приложений , нажмите Выбрать. В диалоговом окне Выбор пула приложений выберите пул приложений в списке Пул приложений и нажмите кнопку ОК.
В поле Физический путь введите физический путь к папке веб-сайта или нажмите кнопку обзора (...), чтобы найти эту папку в файловой системе.
Если на шаге 5 вы указали путь к удаленной общей папке, нажмите Подключиться как , чтобы указать учетные данные, которые имеют разрешение на доступ к этому пути. Если вы не используете определенные учетные данные, выберите вариант Пользователь приложения (сквозная проверка подлинности) в диалоговом окне Подключиться как .
Выберите протокол для веб-сайта из списка Тип .
По умолчанию в поле IP-адрес выбрано значение Все неназначенные. Если необходимо указать статический IP-адрес для веб-сайта, введите этот IP-адрес в поле IP-адрес .
Введите номер порта в текстовом поле Порт .
При необходимости введите имя заголовка узла для веб-сайта в поле Заголовок узла .
Если вносить изменения в сайт не требуется и вы хотите, чтобы веб-сайт немедленно стал доступным, установите флажок Запустить веб-сайт немедленно .
Щелкните OK.
Добавление веб-сайта с помощью командной строки
Используйте следующий синтаксис в командной строке или в скрипте: (Примечание. Для работы этого синтаксиса необходимо находиться в следующем каталоге или в пути: %windir%\system32\inetsrv
.)
appcmd add site /name:string /id:uint /physicalPath:string /bindings:string
Переменная — это имя, а переменная name:string
id:uint
— целое число без знака, которое вы хотите назначить сайту. Переменные и id:uint
являются единственными переменнымиname:string
, необходимыми при добавлении сайта в Appcmd.exe. (Примечание. При добавлении сайта без указания значений для привязок и атрибутов physicalPath сайт не сможет запуститься.)
Переменная physicalPath:string
— это путь к содержимому сайта в файловой системе.
Переменная bindings:string
содержит сведения, используемые для доступа к сайту, и он должен находиться в виде protocol/IP_address:port:host_header
. Например, привязка веб-сайта представляет собой сочетание протокола, IP-адреса, порта и заголовка узла. Привязка http/*:85:
позволяет веб-сайту прослушивать HTTP-запросы через порт 85 для всех IP-адресов и доменных имен (также известных как заголовки узлов или имена узлов). С другой стороны, привязка http/*:85:marketing.contoso.com
настраивает веб-сайт для прослушивания HTTP-запросов через порт 85 для всех IP-адресов и доменного имени marketing.contoso.com.
Чтобы добавить веб-сайт contoso
с идентификатором 2, который содержит содержимое c:\contoso
, и прослушивает HTTP-запросы через порт 85 для всех IP-адресов и доменного имени marketing.contoso.com
, введите следующее в командной строке и нажмите клавишу ВВОД:
appcmd add site /name: contoso /id:2 /physicalPath: c:\contoso /bindings:http/*:85: marketing.contoso.com
Шаг 3. Изменение параметров приложения ASP
IIS 8 предоставляет параметры по умолчанию для приложений ASP, но эти параметры можно изменить по мере необходимости. Например, вы можете включить отладку на стороне клиента на тестовом сервере, чтобы помочь в устранении неполадок во время тестового прохода.
Изменение параметров приложения ASP с помощью пользовательского интерфейса
- Откройте диспетчер IIS и перейдите к уровню, которому требуется управлять.
- В просмотре возможностейдважды щелкните ASP.
- На странице ASP измените параметры, как вам требуется.
- Закончив, нажмите кнопку Применить в области действий .
Изменение параметров приложения ASP с помощью командной строки
Указание кодировки по умолчанию
Чтобы указать для приложения кодировку по умолчанию, используйте следующий синтаксис:
appcmd set config /section:asp /codePage:integerRange
Переменная integerRange
— это набор символов по умолчанию. Например, чтобы установить для кодовой страницы латинский (Latin) набор символов, используемый в американском английском и многих европейских алфавитах, введите в командной строке следующее и нажмите клавишу ВВОД:
appcmd set config /section:asp /codePage:1252
Включение и отключение буферизации
Чтобы включить или отключить буферизацию вывода приложения ASP, используйте следующий синтаксис:
appcmd set config /section:asp /bufferingOn:true|false
Значение true
включения буферизации в то время как false
отключает буферизацию. Значение по умолчанию — true
.
Включение и отключение поблочного кодирования HTTP 1.1
Чтобы включить поблочное кодирование HTTP 1.1 для службы веб-публикаций, используйте следующий синтаксис:
appcmd set config /section:asp /enableChunkedEncoding:true|false
Значение true
включает кодировку передачи с блоками HTTP 1.1, в то время как false
отключает кодировку передачи HTTP 1.1. Значение по умолчанию — true
.
Включение и отключение выдачи резервного HTML
Чтобы включить или отключить выдачу резервного HTML, используйте следующий синтаксис:
appcmd set config /section:asp /enableASPHTMLFallback:true|false
Значение true
приводит к тому, что файл .htm с таким же именем, что и запрошенный файл .asp, если он существует, отправляется вместо файла .asp, если запрос отклонен из-за полной очереди запросов. Значение по умолчанию — true
.
Включение и отключение родительских путей
Чтобы включить или отключить пути относительно текущего каталога или выше текущего каталога, используйте следующий синтаксис:
appcmd set config /section:asp /enableParentPaths:true|false
Значение true
задает страницы ASP, чтобы разрешить пути относительно текущего каталога или выше текущего каталога. Значение по умолчанию — true
.
Установка интервала проверки подключения клиента
Чтобы задать интервал времени, после которого ASP перед выполнением запроса будет проверять, подключен ли еще клиент, используйте следующий синтаксис:
appcmd set config /section:asp /queueConnectionTestTime:timeSpan
Переменная timeSpan
задает интервал времени (hh:mm:ss), после которого ASP проверка проверяет, подключен ли клиент перед выполнением запроса. Значение по умолчанию — 00:00:03
.
Установка максимального размера основного текста запроса
Чтобы указать максимальное число байтов, разрешенное в основном тексте запроса ASP, используйте следующий синтаксис:
appcmd set config /section:asp /maxRequestEntityAllowed:int
Переменная int
представляет максимальное число байтов, разрешенных в тексте запроса ASP. Значение по умолчанию — 200000
байт.
Установка длины очереди запросов
Чтобы указать максимальное число одновременных запросов ASP, допустимых в очереди, используйте следующий синтаксис:
appcmd set config /section:asp /requestQueueMax:int
Переменная int
представляет максимальное количество одновременных запросов ASP, разрешенных в очередь запросов. Значение по умолчанию — 3000
.
Установка времени ожидания очереди запросов
Чтобы указать период времени, в течение которого запрос ASP может ожидать в очереди запросов, используйте следующий синтаксис:
appcmd set config /section:asp /queueTimeout:timeSpan
Переменная timeSpan
представляет максимальное время (hh:mm:ss), которое запрос ASP может ожидать в очереди запросов. Значение по умолчанию — 00:00:00
.
Указание предела буферизации ответов
Чтобы управлять максимальным числом байт, которое страница ASP может записывать в буфер ответа до выполнения очистки, используйте следующий синтаксис:
appcmd set config /section:asp /bufferingLimit:int
Переменная int
представляет максимальный размер буфера ASP в байтах. Значение по умолчанию — 4194304
байт.
Установка времени ожидания сценария
Чтобы указать период времени по умолчанию, в течение которого страница ASP позволяет сценарию выполняться, прежде чем завершить его и записать событие в журнал событий Windows, используйте следующий синтаксис:
appcmd set config /section:asp /scriptTimeout:timeSpan
Переменная timeSpan
представляет максимальное время (hh:mm:ss), которое может выполняться запросОМ ASP перед записью события в журнал событий Windows. Значение по умолчанию — 00:01:30
.
Указание максимального числа потоков на процессор
Чтобы указать максимальное число рабочих потоков на процессор, которое может создаваться ASP, используйте следующий синтаксис:
appcmd set config /section:asp /processorThreadMax:int
Переменная int
представляет максимальное количество рабочих потоков на процессор, которые может создать ASP. Значение по умолчанию — 25
.
Указание кода языка по умолчанию
Чтобы задать способ форматирования дат, времени и валют для приложения ASP, используйте следующий синтаксис:
appcmd set config /section:asp /lcid:int
Переменная int
представляет идентификатор языкового стандарта по умолчанию для приложения ASP. Значение по умолчанию — 0
.
Включение и отключение автоматического перезапуска приложения
Чтобы включить или отключить автоматический перезапуск приложений ASP при каждом изменении параметра конфигурации, используйте следующий синтаксис:
appcmd set config /section:asp /enableApplicationRestart:true|false
Значение true
позволяет приложениям ASP автоматически перезапускаться при изменении параметра конфигурации. Значение по умолчанию — true
.
Включение и отключение подсчета номеров строк
Для включения или отключения в ASP подсчета и хранения номеров строк каждой выполняемой строки кода, чтобы этот номер указывался в отчете об ошибке, используйте следующий синтаксис:
appcmd set config /section:asp /calLineNumber:true|false
Значение включает вычисление true
номеров строк и хранилище. Значение по умолчанию — true
.
Включение и отключение перехвата исключений компонента COM
Чтобы включить или отключить на страницах ASP перехват исключений, вызываемых компонентами COM, используйте следующий синтаксис:
appcmd set config /section:asp /exceptionCatchEnable:true|false
Значение включения перехвата исключений true
компонента COM. Если задано значение false
, средство отладчика сценариев Майкрософт не перехватывает исключения, отправленные компонентом, который выполняется отладка. Значение по умолчанию — true
.
Включение и отключение отладки на стороне клиента
Чтобы включить или отключить отладку на стороне клиента, используйте следующий синтаксис:
appcmd set config /section:asp /appAllowClientDebug:true|false
Значение включения отладки true
на стороне клиента. Значение по умолчанию — false
.
Включение и отключение журнала ошибочных запросов
Чтобы включить или отключить запись ошибок ASP в раздел приложений журнала событий Windows, используйте следующий синтаксис:
appcmd set config /section:asp /logErrorRequests:true|false
Значение true
включает запросы на ошибку журнала. По умолчанию ошибки ASP записываются в журналы браузера клиента и IIS. Значение по умолчанию — true
.
Включение и отключение регистрации ошибок ASP в журнале событий Windows
Чтобы включить или отключить отладку ASP на сервере, используйте следующий синтаксис:
appcmd set config /section:asp /appAllowDebugging:true|false
Значение включения отладки true
на стороне сервера для приложений ASP. Значение по умолчанию — false
.
Выполнение функций On End анонимно
Чтобы включить или отключить SessionOnEnd
ApplicationOnEnd
глобальные функции ASP для запуска от имени анонимного пользователя, используйте следующий синтаксис:
appcmd set config /section:asp /runOnEndAnonymously:true|false
Значение включения SessionOnEnd
и ApplicationOnEnd
глобальных true
функций ASP для запуска от имени анонимного пользователя. Значение по умолчанию — true
.
Указание сообщения об ошибке сценария
Чтобы задать сообщение об ошибке для отправки в браузер, если определенные ошибки отладки не отправляются клиенту, используйте следующий синтаксис:
appcmd set config /section:asp /scriptErrorMessage:string
Переменная string
представляет сообщение об ошибке, которое отправляется в браузер, когда определенные ошибки отладки не отправляются клиенту. Значение по умолчанию — "Ошибка на сервере при обработке URL-адреса. Обратитесь к системному администратору".
Включение и отключение отправки ошибок в браузер
Чтобы включить или отключить запись отладочной информации об ошибке (имя файла, ошибку, номер строки) в браузер клиента дополнительно к ее записи в журнал событий Windows, используйте следующий синтаксис:
appcmd set config /section:asp /scriptErrorSentToBrowser:true|false
Значение true
позволяет записывать сведения об отладке в клиентском браузере. Значение по умолчанию — false
.
Указание языка сценариев по умолчанию
Чтобы указать язык сценариев по умолчанию для всех приложений ASP, выполняющихся на веб-сервере, используйте следующий синтаксис:
appcmd set config /section:asp /scriptLanguage:string
Переменная string
представляет язык скриптов по умолчанию. Значение по умолчанию — VBScript
.
Указание пути к каталогу кэша
Чтобы указать имя каталога, где ASP будет хранить скомпилированные шаблоны ASP при переполнении кэша в памяти, используйте следующий синтаксис:
appcmd set config /section:asp /diskTemplateCacheDirectory:string
Переменная string
представляет путь к каталогу кэша. Значение по умолчанию — %windir%\system32\inetsrv\ASP Compiled Templates
.
Включение и отключение кэширования библиотек типов
Чтобы включить или отключить кэширование библиотек типов, используйте следующий синтаксис:
appcmd set config /section:asp /enableTypelibCache:true|false
Значение true
включает кэширование библиотек типов. Значение по умолчанию — true
.
Установка максимального количества скомпилированных шаблонов ASP для хранения
Чтобы задать максимальное количество скомпилированных шаблонов ASP, которые могут сохраняться, используйте следующий синтаксис:
appcmd set config /section:asp /maxDiskTemplateCacheFiles:int
Переменная int
представляет максимальное количество скомпилированных шаблонов ASP для хранения. Значение по умолчанию — 2000
.
Установка максимального количества скомпилированных шаблонов ASP для хранения
Чтобы задать максимальное количество предварительно скомпилированных файлов сценариев в кэше, используйте следующий синтаксис:
appcmd set config /section:asp /scriptFileCacheSize:int
Переменная int
представляет количество предварительно скомпилированных файлов скриптов для кэширования. Если задано значение 0, файлы сценариев не кэшируются. Если задано значение 4294967295
, кэшируются все запрошенные файлы скриптов. Значение по умолчанию — 500
.
Установка максимального числа обработчиков сценариев в кэше
Чтобы задать максимальное число обработчиков сценариев, кэшируемых страницами ASP в памяти, используйте следующий синтаксис:
appcmd set config /section:asp /scriptEngineCacheMax:int
Переменная int
представляет максимальное количество обработчиков сценариев, кэшированных. Значение по умолчанию — 250
.
Включение и отключение параллельных сборок COM+
Чтобы включить или отключить параллельные сборки COM, которые позволяют приложениям ASP указывать, какие версии системных DLL или классических компонентов COM следует использовать, используйте следующий синтаксис:
appcmd set config /section:asp /appServiceFlags:true|false
Значение true
включает параллельные сборки COM+. Значение по умолчанию — false
.
Включение и отключение регистрации событий COM+
Чтобы включить или отключить регистрацию событий COM+, используйте следующий синтаксис:
appcmd set config /section:asp /enableTypelibCache:true|false
Значение true
включает средство отслеживания COM+, которое позволяет администраторам или разработчикам отлаживать приложения ASP. Значение по умолчанию — false
.
Включение и отключение многопоточных сред
Чтобы включить или отключить выполнение ASP в многопоточной среде, используйте следующий синтаксис:
appcmd set config /section:asp /executeInMta:true|false
Значение true
позволяет ASP выполняться в многопоточной среде. Значение по умолчанию — false
.
Включение и отключение проверки потоковой модели
Чтобы включить или отключить проверку IIS потоковой модели любого компонента, создаваемого вашим приложением, используйте следующий синтаксис:
appcmd set config /section:asp /trackThreadingModel:true|false
Значение true
включения проверка модели потоков. Значение по умолчанию — false
.
Указание идентификатора раздела COM+
Чтобы задать глобальный уникальный идентификатор (GUID) раздела COM+, используйте следующий синтаксис:
appcmd set config /section:asp /partitionID:string
Переменная string
представляет GUID секции COM+ . Значение по умолчанию — 00000000-0000-0000-0000-000000000000
.
Примечание.
Кроме того, необходимо задать для флага appServiceFlags
true
значение .
Указание приложения COM+
Чтобы указать имя приложения COM+, используйте следующий синтаксис:
appcmd set config /section:asp /sxsName:string
Переменная string
представляет имя приложения COM+ .
Примечание.
Кроме того, необходимо задать для флага appServiceFlags
true
значение .
Включение и отключение секционирования COM+
Чтобы включить или отключить секционирование COM+, используйте следующий синтаксис:
appcmd set config /section:asp /appServiceFlags:true|false
Значение true
включает секционирование COM+, которое можно использовать для изоляции приложений в собственной секции COM+. Значение по умолчанию равно false.
Примечание.
Если задано true
значение, необходимо также задать значение для partitionID
свойства.
Включение и отключение состояния сеанса
Чтобы включить или отключить сохранение состояния сеанса для приложения ASP, используйте следующий синтаксис:
appcmd set config /section:asp /allowSessionState:true|false
Значение включения сохраняемости состояния сеанса true
. Значение по умолчанию — true
.
Установка максимального числа одновременных сеансов
Чтобы задать максимальное число одновременных сеансов, допускаемое ASP, используйте следующий синтаксис:
appcmd set config /section:asp /max:int
Переменная int
представляет максимальное количество одновременных сеансов. Значение по умолчанию — -1
.
Включение и отключение безопасного идентификатора сеанса
Чтобы включить или отключить отправку идентификатора сеанса в форме безопасного файла cookie при назначении по защищенному каналу сеанса, используйте следующий синтаксис:
appcmd set config /section:asp /keepSessionIdSecure:true|false
Значение включения идентификатора безопасного сеанса true
. Значение по умолчанию — true
.
Установка времени ожидания сеанса
Чтобы указать время по умолчанию, в течение которого объект сеанса сохраняется после выполнения последнего запроса, связанного с этим объектом, используйте следующий синтаксис:
appcmd set config /section:asp /timeout:timeSpan
Переменная timeSpan
представляет максимальное время (hh:mm:ss), которое поддерживается объектом сеанса после последнего запроса, связанного с объектом. Значение по умолчанию — 00:20:00
.
Next Steps
Тщательно протестируйте свой веб-сайт, чтобы убедиться, что он работает должным образом. Затем рассмотрите возможность настройки следующих функций:
- Чтобы облегчить устранение неполадок или оптимизацию производительности веб-сервера, настройте ведение журнала IIS. Инструкции см. в разделе Configure Logging in IIS.
- Для повышения безопасности вашего веб-сервера настройте фильтрацию запросов. Инструкции см. в разделе Configure Request Filtering in IIS.