Андрей Смирнов
Время чтения: ~11 мин.
Просмотров: 29

Оптимизация ASP.NET — практические советы по работе с IIS

webserver-iis-000.jpg

Обычно, когда говорят о web-сервере, подразумевают решения на базе платформы Linux. Но если ваша инфраструктура развернута на основе Windows Server то логично будет использовать веб-сервер IIS. Вопреки распространенному мнению, это весьма популярная платформа, которая позволяет работать как с большинством популярных CMS, так и имеет широкий спектр систем, предназначенных для работы именно на Windows и IIS.

Несомненным достоинством IIS является его тесная интеграция с другими технологиями и средствами разработки Microsoft. В частности веб-решения для IIS могут использовать богатые возможности .NET и легко взаимодействовать с настольными приложениями на этой платформе. Если же вас это пока не интересует, то к вашим услугам богатый выбор готовых CMS, в том числе написанных специально для IIS. Сегодня мы рассмотрим как установить и настроить IIS для работы с веб-решениями на базе ASP.NET и установим одну из популярных CMS для этой платформы.

Для установки веб-сервера на платформе Windows перейдем в оснастку Роли в Диспетчере сервера и выберем установку ролей Веб-сервер (IIS) и Сервер приложений.webserver-iis-001-thumb-450x331-2320.jpgНо не спешите нажимать Далее, слева, под названием каждой роли, доступна опция Службы ролей, перейдем на нее и установим для Сервера приложений следующие опции: Поддержка веб-сервера (IIS), Общий доступ к TCP-портам и Активация через HTTP.webserver-iis-002-thumb-450x329-2323.jpgА для веб-сервера установите службу FTP-сервер.webserver-iis-003-thumb-450x332-2326.jpgПосле чего установите выбранные роли. Для проверки работоспособности IIS наберите в браузере IP-адрес вашего сервера, вы должны будете увидеть стандартную страницу-заглушку веб-сервера.webserver-iis-004-thumb-450x317-2329.jpgТеперь перейдем в к настройке сервера, для этого откроем Диспетчер служб IIS (находится в Пуск — Администрирование).webserver-iis-005-thumb-450x323-2332.jpgПервым делом создадим новый сайт, для этого щелкните правой кнопке на пункте Сайты в боковом меню Диспетчера IIS и выберите Создать новый сайт.webserver-iis-006-thumb-450x333-2335.jpgВ открывшемся окне укажите имя сайта, путь к корневой папке (по умолчанию сайты пользователей располагаются в C:inetpubwwwroot), которую следует предварительно создать и укажите имя узла (доменное имя сайта), в нашем случае iissite.localwebserver-iis-007.jpgНе забудьте добавить A-запись с именем вашего сайта на DNS-сервер или пропишите необходимые строки в файлы hosts тех рабочих станций, откуда будете обращаться к сайтуВ принципе вы уже можете размещать в папке сайта web-страницы и получать к ним доступ через браузер, но для полноценной работы с сайтом не помешает FTP-доступ к нему. Для этого щелкните правой кнопкой по названию вашего сайте в боковом меню и выберите Добавить FTP-публикациюwebserver-iis-008-thumb-450x335-2341.jpgДалее укажите привязку FTP-cлужбы к сетевым интерфейсам и портам, а также настройте параметры безопасности. Если вы собираетесь использовать SSL, то учтите что вам потребуется сертификат, хотя если вы будете использовать FTP-доступ только для собственных нужд, то можно обойтись самоподписанным сертификатом. Не забудьте поставить галочку для автоматического запуска FTP-сайта.webserver-iis-009-thumb-450x341-2345.jpgНа следующей странице укажите параметры доступа к серверу, мы советуем указывать конкретных пользователей, которые будут работать с данным сайтом.webserver-iis-010-thumb-450x342-2348.jpgПопробуйте подключиться через FTP используя любой клиент и загрузите проверочную html страницу с именем index.html, пример такой страницы мы приводили здесь. Если все сделано правильно, то, набрав в браузере имя нашего сайта, вы увидите такую страницу: webserver-iis-011-thumb-450x343-2351.jpgВеб-сервер настроен и вы можете использовать его для размещения HTML-страниц, однако современные сайты используют для хранения своих данных СУБД, поэтому следующим шагом установим MS SQL Express 2012, возможностей которого с лихвой хватит для наших задач. Установка производится со значениями по умолчанию, кроме Режима проверки подлинности, который следует переключить в Смешанный режим и задать пароль суперпользователю SQL-сервера sa.webserver-iis-012-thumb-450x337-2354.jpgТеперь попробуем установить какую либо популярную CMS созданную на базе технологии ASP.NET, обширный выбор таких решений представлен в галерее web-приложений Microsoft. Обратите внимание, что по кнопке скачать вы получите пакет для установки через Web PI, для установки на IIS вам потребуется перейти на сайт разработчика и скачать полный пакет с CMSМы будем устанавливать Orchard CMS, для получения пакета пройдите по ссылке и выберите Загрузить как zip, распакуйте полученный архив и закачайте в корень сайта содержимое папки Orchard.webserver-iis-013-thumb-450x373-2357.jpgДанная CMS создана на базе ASP.NET 4, поэтому настроим наш сайт на использование необходимых технологий. Для этого щелкните правой кнопкой на имени сайта в боковом меню и выберите Управление веб-сайтом — Дополнительные параметрыwebserver-iis-014-thumb-450x332-2360.jpgВ открывшемся окне измените параметр Пул приложений, указав там ASP.NET v.4Затем установите необходимые права на папку с сайтом, вам нужно добавить пользователю IIS_IUSRS возможность записи и изменения содержимого данной папки.Также не забудьте создать базу данных для сайта, для этого зайдите в SQL Server Management Studio и, щелкнув правой кнопкой на пункте Базы данных в боковом меню, создайте новую базу.Для установки CMS наберите в браузере адрес сайта и следуйте указаниям скрипта установки. Никаких сложностей там нет, единственное затруднение может вызвать правильное указание параметров подключения к SQL-серверу. Укажите что вы используете SQL Server (или SQL Express)В строке подключения ниже укажите следующее:

server=SERVERNAMESQLEXPRESS;database=iissite;user=sa;password=sapasswd;

где:

  • server=SERVERNAMESQLEXPRESS — имя сервера, на котором установлен SQL-сервер, и экземпляра SQL-сервера.
  • database=iissite — имя базы данных (в нашем случае iissite)
  • user=sa — пользователь СУБД (в нашем случае sa)
  • password=sapasswd — пароль пользователя sa.

Так как наш сайт предназначен для внутреннего использования и использует изолированный экземпляр SQL, то мы использовали для доступа к серверу параметры пользователя sa, если же вы собираетесь размещать на веб-сервере несколько сайтов и администрировать их будут разные пользователи, то заведите на SQL сервере дополнительных пользователей и для подключения используйте их учетные данные, не забыв ограничить им доступ только к «своим» базам.Спустя некоторое время, необходимое для установки CMS, в вашем браузере отобразиться страница сайта с тестовым содержимым. Можете переходить в админ-панель и настраивать сайт согласно ваших потребностей.Несмотря на то, что мы рассмотрели установку только одного «движка», установка других CMS производится аналогичным образом и сложностей вызвать не должнаВ следующей части нашей статьи мы расскажем как добавить нашему серверу поддержку PHP для запуска на нем популярных CMS написанных на этом языке.Дополнительные материалы:

  1. Windows Server. Настраиваем веб-сервер IIS.
  2. Windows Server. Добавляем поддержку PHP веб-серверу IIS.
  3. Windows Server. Веб-сервер IIS, добавляем поддержку MySQL.

назад к списку статей

Сегодня мы поговорим о том, как перенести Asp.Net-приложение из среды разработки Visual Studio на веб-сервер IIS.

При запуске в Visual Studio веб-приложение разворачивается на Visual Studio Development Server. Это внутренний веб-сервер, работающий локально в операционной системе. Он создан специально для запуска сайтов на локальной машине и не обслуживает запросы с других компьютеров. Иными словами, другой пользователь со своего компьютера не будет видеть наш сайт.

Чтобы сайт стал доступен другим пользователям, нужно разместить его на веб-сервере IIS. Это один из основных веб-серверов, использующихся на данный момент, и позволяющий запускать веб-сайты на платформе Asp.Net.

С другой стороны, чтобы наш сайт функционировал, необходимо установить .Net Framework и зарегистрировать Asp.Net в IIS. Об этом и пойдет речь.

Установка Asp.Net

На сервере, где будет располагаться сайт, необходимо установить .Net Framework. Это набор файлов и утилит, позволяющие выполнять и разрабатывать приложения, написанные в среде разработки Ms Visual Studio. Устанавливать нужно ту версию .Net Framework, с помощью которой разрабатывался наш сайт.

Как установить Asp.Net правильной версии? Проверить ее можно следующим образом: открыть проект в Visual Studio, зайти в свойства проекта (меню Проект->Свойства…). На вкладке «Построение» в поле «Требуемая версия .Net Framework» будет указана версия, под которую написано приложение.

Скачать .Net Framework можно с официального сайта Microsoft. Будем считать, что наш сайт написан на .Net 4.0. Скачать установщик можно здесь.

Качаем нужную версию .Net Framework, устанавливаем на сервере. Все, установка Asp.Net завершена!

Как зарегистрировать Asp.Net в IIS

В составе пакета .Net Framework есть утилита aspnet_regiis.exe, с помощью которой мы, собственно, и сможем зарегистрировать Asp.Net в IIS.

Отдельная статья посвящена тому, как установить и настроить IIS. Здесь будем считать, что IIS у нас уже установлен.

Чтобы зарегистрировать Asp.Net в IIS, нужно выполнить команду aspnet_regiis.exe с ключом –i. Эта команда проводит установку Asp.Net, регистрирует или обновляет пулы приложений, обновляет метабазу IIS и многое-многое другое.

Можно выполнить эту команду из командной строки cmd.exe, но гораздо удобнее воспользоваться каким-нибудь файловым менеджером (Far Manager, Total Commander и т.д.).

Покажу на примере Total Commander: Откройте Total, зайдите в папку WindowsMicrosoft.NETFrameworkv4.0.30319 (версию Framework выбирайте ту, под которую написан сайт), встаньте курсором на файл aspnet_regiis.exe, нажмите Ctrl+Enter, имя файла скопируется в командную строку. Далее введите –i и нажмите Enter.

Примечание: если у вас 64-разрядная версия операционной системы, то нужно запускать aspnet_regiis.exe из каталога Framework64, а не Framework.

После этого появится окно установки Asp.Net:

Итоги

Мы узнали, как установить и зарегистрировать Asp.Net в IIS. Теперь можно настроить сайт под IIS.

назад к списку статей

Настройка IIS для работы сайтов на ASP.NET

folder.pngASP.NET &nbsp date.png 14 января 2013&nbsp Автор статьи: &nbsp

В данной статье мы рассмотрим настройку Internet Information Server. Сам я в свое время потратил очень много времени на настройку IIS для запуска своих сайтов, которые были написаны на ASP.NET. Итак, начнем: До того, как устанавливать IIS, необходимо установить .NET Framework и подходящий SQL сервер. До этого я рассматривал установку и настройку SQL Server Express R2. После установки, перегрузите компьютер, это нужно для того, чтобы возникло меньше проблем с дальнейшей настройкой. После этого можно начать устанавливать IIS. Для этого перейдите в панель инструментов. Там необходимо перейти в установку и удаление программ (я называю это по старинке, у вас возможны следующие названия: «Программы и компоненты» или «Удаление программы»). После этого необходимо перейти на вкладку «Включение или отключение компонентов Windows», если вы настраиваете IIS на Windows Server, то вам необходимо будет добавить роль IIS, а если вы находитесь в обычной операционной системе, то просто найдите его среди компонентов.-D0-A3-D1-81-D1-82-D0-B0-D0-BD-D0-BE-D0-B2-D0-BA-D0-B0-IIS-300x262.png После этого вам откроется установка IIS, она достаточно проста, но когда вам предложат выбрать какие компоненты веб-сервера следует поставить, то советую вам выбрать все. После окончания установки IIS перезагрузите компьютер. Если вы все сделали правильно, то в строке быстрого поиска в пуске вводите IIS и вам покажется ярлык Диспетчер служб IIS. Щелкайте на него:-D0-9F-D0-B0-D0-BD-D0-B5-D0-BB-D1-8C--D1-83-D0-BF-D1-80-D0-B0-D0-B2-D0-BB-D0-B5-D0-BD-D0-B8-D1-8F-IIS-300x225.png Теперь нужно зайти в «Пулы приложений» и посмотреть, а есть ли у вас пул с версией .NET Framework, который вы используете. Если пула нет, то у вас выскочит следующая ошибка при дальнейшей настройке: [warning]Обработчик «PageHandlerFactory-Integrated» содержит поврежденный модуль «ManagedPipelineHandler»[/warning] Данная ошибка лечится следующим образом, необходимо зайти в папку с установленным Framework и запустить файл aspnet_regiis.exe -i. Это можно сделать с помощью командной строки, например так: cd C:WindowsMicrosoft.NETFrameworkv4.0.30319 aspnet_regiis.exe -i После этого у вас появятся пулы с нужным вам Framework. Дальше я жму левой кнопкой на папку сайты и справа выбираю определить значения по умолчанию для веб-сайта. Там я сразу настраиваю учетные данные для доступа к физическому пути. Если вы не профессионал в построение безопасных систем, то просто напишите туда учетные данные администратора. Вы можете пропустить это действие, если собираетесь настраивать для каждого сайта отдельного пользователя. После этого необходимо поместить файлы сайта в папочку inetpub, которая расположена на локальном диске C:. Я вам советую сделать это, так как для этой папки уже настроены права доступа, которые нужны для функционирования сайтов. Конечно, каждый сайт следует класть в отдельную папочку внутри папки inetpub. После того, как файлы закачены, можно щелкнуть правой кнопочкой по папке сайты в панели управления IIS и выбрать пункт добавить сайт.-D0-94-D0-BE-D0-B1-D0-B0-D0-B2-D0-BB-D0-B5-D0-BD-D0-B8-D0-B5--D1-81-D0-B0-D0-B9-D1-82-D0-B0-300x225.png Укажите название сайта, не забудьте выбрать нужный пул, затем выберите физический путь до папки, где у вас лежит главная страница и выполните тест настроек, если вы проходите все тесты, значит все хорошо, иначе выберите пункт подключиться как и настройте пользователя. После этого вы можете указать по какому адресу IIS должен отображать ваш сайт, например cybern.ru, или ваш IP, например 95.31.32.69, кроме этого вы можете выбрать порт, и ограничить некоторые подключения, но мы пока что не будем трогать эти настройки. Если вы хотите, чтобы ваш сайт был доступен по нескольким привязкам, то просто выберите пункт привязки и добавьте новую. Поздравляю сайт добавлен, но на этом настройка еще не завершается, теперь необходимо щелкнуть на самое верхнее вложение, которое называется также, как имя вашего компьютера, оно находится под начальной страницей, редактируя опции для него, вы тем самым редактируете опции для всех сайтов. Найдите там ограничение CGI и ISAPI, зайдите в них и разрешите использовать ваш Framework, если вы этого не сделаете, то у вас возникнет следующая ошибка: [warning]Ошибка сервера в приложении «Имя приложения» Ошибка HTTP 404.2 — не найден ЗНАЧЕНИЕ HRESULT: 0X800704EC Описание HRESULT: запрашивается страница не может быть обработан из-за ограничений CGI и ISAPI параметры списка на веб-сервере.[/warning] Теперь, если ваш сайт планирует работать с базой данных и вы собираетесь использовать профиль по умолчанию, то вам следует вернуться к пулам и там перейти в дополнительные параметры, там в вкладке «модель процесса» необходимо установить флаг загрузить профиль пользователя в true. Если вы этого не сделаете, то у вас появится следующая ошибка: [warning]Не удалось сформировать пользовательский экземпляр SQL Server из-за ошибки при получении путей к локальным данным приложения пользователя. Убедитесь, что у пользователя есть локальный профиль на данном компьютере. Соединение будет закрыто. Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

Используемые источники:

  • https://interface31.ru/tech_it/2012/05/windows-server-nastraivaem-veb-server-iis.html
  • https://stud-work.ru/ustanovka-asp-net-i-registratsiya-v-iis
  • http://cybern.ru/iis-aspnet.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации