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


Сценарий. Создание классического веб-сайта 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 с помощью пользовательского интерфейса

  1. На начальной странице щелкните плитку Диспетчер серверов и нажмите кнопку ОК.

  2. В окне диспетчера серверовщелкните элемент Панель мониторинга, а затем выберите Добавить роли и компоненты.

  3. В окне мастера добавления ролей и компонентовна странице Перед началом работы нажмите кнопку Далее.

  4. На странице выбора типа установки выберите Установка ролей или компонентов и нажмите кнопку Далее.

  5. На странице выбора целевого сервера нажмите Выберите сервер из пула серверови нажмите кнопку Далее.

  6. На странице выбора ролей сервера щелкните Веб-сервер (IIS)и нажмите кнопку Далее.

  7. На странице выбора компонентов обратите внимание на предварительно выбранные компоненты, устанавливаемые по умолчанию, и выберите следующие дополнительные службы ролей:

    • ASP
    • Расширения ISAPI
  8. Нажмите кнопку Далее.

  9. На странице Роль веб-сервера (IIS) щелкните Далее.

  10. На странице выбора служб ролей обратите внимание на предварительно выбранные службы ролей, устанавливаемые по умолчанию, и нажмите кнопку Далее. (Примечание. Необходимо установить только службы ролей IIS 8 по умолчанию для веб-сервера статического содержимого.)

  11. На странице подтверждения выбранных элементов для установки подтвердите выбранные элементы и нажмите кнопку Установить.

  12. На странице Ход установки подтвердите успешное завершение установки роли веб-сервера (IIS) и необходимых служб ролей, а затем нажмите кнопку Закрыть.

  13. Чтобы проверить успешность установки IIS, введите в веб-браузере следующий текст:

    http://localhost

    Вы должны увидеть страницу приветствия IIS по умолчанию.

Установка IIS в Windows 8 с помощью пользовательского интерфейса

  1. На начальной странице введите Панель управления, а затем щелкните значок панели управления в результатах поиска.

  2. В панели управлениящелкните раздел Программы, а затем выберите пункт Включение или отключение компонентов Windows.

  3. В диалоговом окне Компоненты Windows щелкните пункт Службы IIS, обратите внимание на предварительно выбранные компоненты, устанавливаемые по умолчанию, и выберите следующие дополнительные службы ролей:

    • ASP
    • Расширения ISAPI
  4. Щелкните OK.

  5. Чтобы проверить успешность установки 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.

Добавление веб-сайта с помощью пользовательского интерфейса

  1. Откройте диспетчер служб IIS.

    • Для Windows Server 2012 на начальной странице щелкните плитку диспетчер сервера и нажмите кнопку "ОК". В панели мониторинга диспетчера серверовщелкните меню Инструменты и выберите Диспетчер служб (IIS).
    • Для Windows 8 на начальной странице панель управления и щелкните значок панель управления в результатах поиска. На экране панели управления выберите раздел Система и безопасность, выберите Администрирование,а затем щелкните пункт Диспетчер служб IIS.
  2. В области Подключения щелкните правой кнопкой мыши узел Сайты в дереве, а затем выберите Добавить веб-сайт.

  3. В диалоговом окне Добавление веб-сайта введите понятное имя для веб-сайта в поле Имя сайта .

  4. Если вы хотите выбрать другой пул приложений, отличный от указанного в поле Пул приложений , нажмите Выбрать. В диалоговом окне Выбор пула приложений выберите пул приложений в списке Пул приложений и нажмите кнопку ОК.

  5. В поле Физический путь введите физический путь к папке веб-сайта или нажмите кнопку обзора (...), чтобы найти эту папку в файловой системе.

  6. Если на шаге 5 вы указали путь к удаленной общей папке, нажмите Подключиться как , чтобы указать учетные данные, которые имеют разрешение на доступ к этому пути. Если вы не используете определенные учетные данные, выберите вариант Пользователь приложения (сквозная проверка подлинности) в диалоговом окне Подключиться как .

  7. Выберите протокол для веб-сайта из списка Тип .

  8. По умолчанию в поле IP-адрес выбрано значение Все неназначенные. Если необходимо указать статический IP-адрес для веб-сайта, введите этот IP-адрес в поле IP-адрес .

  9. Введите номер порта в текстовом поле Порт .

  10. При необходимости введите имя заголовка узла для веб-сайта в поле Заголовок узла .

  11. Если вносить изменения в сайт не требуется и вы хотите, чтобы веб-сайт немедленно стал доступным, установите флажок Запустить веб-сайт немедленно .

  12. Щелкните OK.

Добавление веб-сайта с помощью командной строки

Используйте следующий синтаксис в командной строке или в скрипте: (Примечание. Для работы этого синтаксиса необходимо находиться в следующем каталоге или в пути: %windir%\system32\inetsrv.)

appcmd add site /name:string /id:uint /physicalPath:string /bindings:string

Переменная — это имя, а переменная name:stringid: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 с помощью пользовательского интерфейса

  1. Откройте диспетчер IIS и перейдите к уровню, которому требуется управлять.
  2. В просмотре возможностейдважды щелкните ASP.
  3. На странице ASP измените параметры, как вам требуется.
  4. Закончив, нажмите кнопку Применить в области действий .

Изменение параметров приложения 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 анонимно

Чтобы включить или отключить SessionOnEndApplicationOnEnd глобальные функции 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.

Примечание.

Кроме того, необходимо задать для флага appServiceFlagstrueзначение .

Указание приложения COM+

Чтобы указать имя приложения COM+, используйте следующий синтаксис:

appcmd set config /section:asp /sxsName:string

Переменная string представляет имя приложения COM+ .

Примечание.

Кроме того, необходимо задать для флага appServiceFlagstrueзначение .

Включение и отключение секционирования 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.

См. также