Запуск ASP.NET 1.1 со службами IIS 6.0

Хотя Windows Server 2003 включает как IIS 6.0, так и ASP.NET 1.1, эти компоненты по умолчанию отключены. В этом техническом документе описывается, как включить IIS 6.0 и ASP.NET 1.1, а также рекомендуется использовать несколько параметров конфигурации для обеспечения оптимальной производительности служб IIS и ASP.NET.

Применимо к ASP.NET 1.1 и IIS 6.0.

ASP.NET 1.1 поставляется с Windows Server 2003, которая также включает последнюю версию IIS версии 6.0. СЛУЖБЫ IIS 6.0 и ASP.NET 1.1 предназначены для простой интеграции и ASP.NET теперь использует новую модель рабочих процессов IIS 6.0 по умолчанию.

ASP.NET 1.1 не устанавливается по умолчанию

В отличие от предыдущих версий серверных операционных систем Майкрософт, сервер IIS не включен по умолчанию; также не ASP.NET 1.1. Существует два варианта включения СЛУЖБ IIS:

Включение СЛУЖБ IIS, вариант 1 . Мастер настройки сервера

Windows Server 2003 поставляется с новым мастером настройки сервера, который поможет правильно настроить сервер в нужном режиме.

Чтобы запустить мастер . Обратите внимание, что для запуска мастера необходимо войти в систему с правами администратора. Перейдите к: Пуск | Программы | Администрирование и выберите "Настроить сервер".

После выбора вы увидите открывающий экран "Мастер настройки сервера":

Снимок экрана: мастер настройки сервера в Windows. Выделена кнопка

Нажмите кнопку "Далее >":

Снимок экрана: экран предварительных действий Windows мастера настройки сервера. Выделена кнопка

Нажмите кнопку "Далее >"

Снимок экрана мастера настройки сервера Windows с именем роли сервера. В меню отображается выделенный параметр сервера приложений.

На этом экране необходимо выбрать сервер приложений (IIS, ASP.NET) в качестве параметров для настройки.

Нажмите кнопку "Далее >".

Снимок экрана мастера настройки сервера Windows с заголовком

После настройки сервера в качестве сервера приложений отобразится этот экран с запросом на установку дополнительных возможностей. По умолчанию ни параметр не выбран. Чтобы включить ASP.NET автоматически, необходимо выбрать "Включить ASP.NET".

Нажмите кнопку "Далее >".

Снимок экрана мастера настройки сервера в Windows с названием сводка по выбранным параметрам. Выделена кнопка

На этом экране отображаются параметры, которые необходимо установить.

Нажмите кнопку "Далее >".

Снимок экрана мастера настройки сервера. Отображается строка состояния применения выбранных элементов.

Вы увидите этот экран при установке выбранных параметров. Обычно при установке служб отображаются другие диалоговые окна. Кроме того, вам может быть предложено указать расположение установочного компакт-диска Windows 2003 Server.

По завершении нажмите кнопку "Далее >".

Снимок экрана: экран успешной настройки сервера Windows. Кнопка завершения выделена.

Нажмите кнопку "Готово" — Windows Server 2003 теперь настроен для поддержки IIS 6.0 и ASP.NET 1.1.

Включение СЛУЖБ IIS, вариант 2. Настройка IIS и ASP.NET вручную

Если вы не хотите использовать мастер настройки сервера, при необходимости можно установить IIS 6.0 и ASP.NET 1.1 с помощью команды "Установка и удаление программ" из панель управления.

Сначала откройте панель управления:

Снимок экрана: экран добавления и удаления программ с выделенным параметром библиотека MSDN для Visual Studio .NET 2003.

Затем щелкните "Добавить или удалить компоненты Windows", чтобы открыть мастер компонентов Windows:

Снимок экрана: окно мастера компонентов Windows. ASP.NET выделен.

Выделите и проверка "Сервер приложений", а затем щелкните "Сведения?" (Управление…).

Снимок экрана сервера приложений. ASP.NET выделен.

Чтобы установить ASP.NET, проверка "ASP.NET".

Нажмите кнопку "ОК", чтобы вернуться к мастеру компонентов Windows. Нажмите кнопку "Далее >" в мастере компонентов Windows, чтобы начать установку:

Снимок экрана: экран сервера приложений мастера компонентов Windows. ASP.NET выделен.

Обычно при установке служб отображаются другие диалоговые окна. Кроме того, вам может быть предложено указать расположение установочного компакт-диска Windows 2003 Server.

После завершения установки отобразится последний экран мастера компонентов Windows:

Снимок экрана мастера компонентов Windows, на котором показан экран настройки компонентов. Выполняется строка состояния.

Службы IIS 6.0 и ASP.NET 1.1 теперь настроены и доступны.

При запуске ASP.NET 1.1 с IIS 6.0 рекомендуется использовать несколько параметров конфигурации, которые могут обеспечить оптимальную производительность ASP.NET:

  • Настройка ограничений памяти рабочих процессов
  • Настройка перезапуска рабочих процессов

Настройка ограничений памяти рабочих процессов

По умолчанию IIS 6.0 не устанавливает ограничение на объем памяти, который разрешено использовать службам IIS. ASP. Функция кэша NET зависит от ограничения памяти, поэтому кэш может упреждающим образом удалять неиспользуемые элементы из памяти.

Рекомендуется настроить функцию перезапуска памяти в IIS 6.0. Настройка этого открытого диспетчера служб IIS (запуск | Программы | Средства администрирования | Службы IIS). После открытия разверните папку Пулы приложений:

Для каждого пула приложений:

Снимок экрана: экран диспетчера WINDOWS IIS. В меню файла выделена папка Пулы приложений.

  1. Щелкните правой кнопкой мыши пул приложений, например DefaultAppPool, и выберите пункт Свойства:

Снимок экрана: экран свойств Windows IIS DefaultAppPool. Установлен флажок Перезапуск рабочих процессов (в минутах).

  1. Затем включите перезапуск памяти, щелкнув "Максимальный объем используемой памяти (в мегабайтах)". Значение не должно превышать объем физической (не виртуальной) памяти на сервере. Хорошее приближение составляет 60 % от физической памяти, т. е. для сервера с 512 МБ физической памяти выберите 310. Также рекомендуется, чтобы максимальное значение не превышало 800 МБ при использовании адресного пространства в 2 ГБ. Если адресное пространство сервера составляет 3 ГБ, максимальный объем памяти для рабочего процесса может достигать 1800 МБ:

Снимок экрана: экран свойств Windows IIS DefaultAppPool. Флажок Перезапуск рабочих процессов (в минутах) снят.

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

Настройка перезапуска рабочих ролей

По умолчанию служба IIS 6.0 настроена для перезапуска рабочего процесса каждые 29 часов. Это немного агрессивно для приложения, работающего ASP.NET и рекомендуется отключить автоматическую переработку рабочих процессов.

Чтобы отключить автоматическую очистку рабочих процессов, сначала откройте диспетчер служб IIS (запуск | Программы | Средства администрирования | Службы IIS). После открытия разверните папку Пулы приложений:

Снимок экрана: экран диспетчера WINDOWS IIS. В меню файла выделена папка Пулы приложений.

Для каждого пула приложений:

  1. Щелкните правой кнопкой мыши пул приложений, например DefaultAppPool, и выберите пункт Свойства:

Снимок экрана: экран свойств Windows IIS DefaultAppPool с флажом Перезапуск рабочих процессов (в минутах).

  1. Снимите флажок "Перезапуск рабочего процесса (в минутах):

Снимок экрана windows IIS DefaultAppPool Properties (Свойства Windows IIS DefaultAppPool) с снятным флажом

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

Предоставление доступа на запись к файловой системе

Если приложению требуется доступ на запись к файловой системе и вы используете NTFS, необходимо изменить список контроль доступа (ACL) в папке или файле, чтобы предоставить доступ ASP.NET.

Например, чтобы предоставить ASP.NET доступ на запись в c:\inetpub\wwwroot, сначала откройте обозреватель и перейдите в каталог:

Снимок экрана: проводник со списком папок wwwroot.

Затем щелкните правой кнопкой мыши каталог, например wwwroot, и выберите свойства. После открытия диалогового окна свойств перейдите на вкладку Безопасность:

Снимок экрана: экран свойств Windows wwwroot с выбранной вкладкой

Каталог c:\inetpub\wwwroot\ — это специальный каталог в том, что специальной группе IIS 6.0 "IIS_WPG" уже предоставлены разрешения чтение & выполнение, перечисление содержимого папки и чтение. Однако, чтобы предоставить разрешение на запись, необходимо установить флажок Разрешить запись:

Снимок экрана: экран свойств Wwwroot в Windows. Выбрана вкладка Безопасность.

Iis 6.0 теперь имеет разрешение на запись в этой папке. Чтобы предоставить разрешения на запись в других папках, выполните следующие действия. Обратите внимание, что может потребоваться добавить группу IIS_WPG, если она еще не существует.

Внимание!

Предоставление разрешения на запись IIS_WPG позволит любому ASP.NET приложению выполнять запись в этот каталог.

Поддержка встроенной проверки подлинности с помощью SQL Server

Встроенная проверка подлинности позволяет SQL Server использовать Windows NT проверку подлинности для проверки учетных записей SQL Server входа. Это позволяет пользователю обойти стандартный процесс входа SQL Server. При таком подходе пользователь сети может получить доступ к базе данных SQL Server без предоставления отдельного идентификатора входа или пароля, так как SQL Server получает сведения о пользователе и пароле из процесса Windows NT сетевой безопасности.

Выбор интегрированной проверки подлинности для приложений ASP.NET является хорошим выбором, так как учетные данные никогда не сохраняются в строка подключения приложения. Вместо этого строка подключения, используемых для подключения к SQL, будет выглядеть следующим образом:

"server=localhost; database=Northwind;Trusted_Connection=true"

Это строка подключения сообщает SQL Server использовать учетные данные Windows приложения, пытающегося получить доступ к SQL Server. В случае ASP.NET/IIS 6 это будет учетная запись в группе IIS_WPG.

Чтобы включить встроенную проверку подлинности между SQL Server и ASP.NET, сначала необходимо убедиться, что SQL Server настроена для встроенной проверки подлинности или проверки подлинности Mixed-Mode . проверка с вашим DBA, чтобы определить это. Если SQL Server находится в одном из этих двух режимов, можно использовать встроенную проверку подлинности.

Открытие диспетчера SQL Server Enterprise (запуск | Программы | Microsoft SQL Server | Enterprise Manager), выберите соответствующий сервер и разверните папку Безопасность:

Снимок экрана: windows SQL Enterprise Manager. В меню выделены имена входа.

Если группа "BUILTINT\IIS_WPG" отсутствует в списке, щелкните правой кнопкой мыши имя входа и выберите "Создать имя входа".

Снимок экрана: экран

В текстовом поле "Имя:" введите "[Имя сервера/домена]\IIS_WPG" или нажмите кнопку с многоточием, чтобы открыть Windows NT средство выбора пользователя или группы:

Снимок экрана: экран windows SQL Enterprise Manager SQL Server свойства входа. На экране отображается список имен серверов.

Выберите группу IIS_WPG текущего компьютера и нажмите кнопки "Добавить" и "ОК", чтобы закрыть средство выбора.

Затем необходимо также задать базу данных по умолчанию и разрешения на доступ к ней. Чтобы задать базу данных по умолчанию, выберите в раскрывающемся списке, например, под "Борей":

Снимок экрана windows Server Enterprise Manager SQL Server свойства входа. Выбрана вкладка Общие.

Затем щелкните вкладку Доступ к базе данных:

Снимок экрана windows Server Enterprise Manager SQL Server свойства входа. Выбрана вкладка Доступ к базе данных.

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

Нажмите кнопку ОК, чтобы выйти из диалогового окна свойств. Теперь приложение ASP.NET настроено для поддержки встроенной проверки подлинности SQL Server.

Не запускайте ASP.NET 1.0 в собственном режиме IIS 6.0

ASP.NET 1.0 в IIS 6.0 поддерживается только в режиме совместимости IIS 5.

Чтобы настроить ASP.NET 1.0 для работы в режиме совместимости IIS 5.0, откройте диспетчер служб Интернета, щелкните правой кнопкой мыши веб-сайты и выберите свойства:

Снимок экрана: экран диспетчера служб IIS Для Windows. Выделена папка веб-сайтов.

Перейдите на вкладку Служба и проверка ? Запуск службы WWW в режиме изоляции IIS 5.0?

Снимок экрана: экран