Как стать автором
Обновить

Server Core R2 для веб-разработки

Время на прочтение3 мин
Количество просмотров608

Вместо предисловия


Выпуск первого варианта Windows Server Core был почти революцией, хотя, как и для любой революции, результат выглядел немного странно. Заявленная возможность управлять Windows из консоли недалеко ушла от уровня command.com, а мега-вещь PowerShell отсутствовала напрочь.(Правда мало что способно устоять перед русским инженером на службе американского бизнеса, поэтому спустя некоторое время Дмитрий Сотников нашел как подружить PowerShell и Server Core). Несмотря на наличие IIS и потенциальную возможность использования в качестве веб-сервера, отсутствовала поддержка .Net Framework и, соответственно, ASP.NET.

Но на смену революции приходит эволюция. И вот, значит, Windows 2008 Server Core R2.

Главные вкусности (для веб-разработчика):


Вот что Microsoft добавила в новый Server Core:
  • немного порезанный .Net Framework 2.0
  • немного порезанный .Net Framework 3.5
  • немного порезанный ASP.NET
  • Windows PowerShell 2.0

Под «немного порезанный» имеются в виду отсутствующие namespaces. Вот полный список:
  • Microsoft.Aspnet.Snapin
  • Microsoft.Ink
  • Microsoft.ManagementConsole.*
  • Microsoft.StylusInput.*
  • Microsoft.VisualBasic.Compatibility.VB6
  • Microsoft.Windows.Themes
  • Microsoft.WindowsCE.Forms
  • Microsoft.WindowsMobile.DirectX.*
  • System.ComponentModel.Design.*
  • System.Data.Design
  • System.Deployment.Application
  • System.Diagnostics.Design
  • System.Media
  • System.Messaging.Design
  • System.Speech.*
  • System.Web.UI.Design.*
  • System.Windows.*
  • UIAutomationClientsideProviders

Все остальные фичи, включая WCF, WWF, LINQ – доступны в полном объеме.

Как этим пользоваться


На виртуальную машину с гигом и двумя 2.3GHz процессорами установка занимает 8 минут, включая создание виртуальной машины. Ждать пока на аналогичную машину на соседнем хосте виртуалок установится обычный Windows Server 2008 R2 – задрало.

Теперь надо поставить IIS и сопутствующие приблуды. Делается это достаточно просто: sudo apt get ocsetup <%componentname%>. Для начала рекомендую воспользоваться командой oclist, чтобы получить список компонент и зависимостей между ними. После этого ставите то, что нужно именно вам. В моем случае это выглядит вот так:
  • IIS-WebServerRole
  • NetFx3-ServerCore
  • IIS-ISAPIExtensions
  • IIS-NetFxExtensibility
  • IIS-ISAPIFilter
  • IIS-ASPNET
  • MicrosoftWindowsPowerShell

Для большей понятности процесса рекомендую запускать установку через start /w, то есть: start /w ocsetup IIS-WebServerRole.

Если вам необходимо поддержка 32битного кода под .NetFramework не забудьте поставить соответствующие компоненты с окончанием WOW64, например: NetFx3-ServerCore-WOW64.

Для упрощения дальнейшей жизни можно установить Management Service, после чего IIS можно будет администрировать, подключившись к нему через MMC консоль с обычной Windows Server 2008 или Vista. При использовании PowerShell процедура установки выглядит вот так:

Start /w ocsetup IIS- Management Service

Set-ItemProperty -path “HKLM: \Software\Microsoft\WebManagement\Server” -name “EnableRemoteManagement” –value 1

sc start WMSVC


Собственно все. Дальше все как обычно при разработке на ASP.NET

Из личного опыта


На серверах которые используются для разработки файрволом можно не заморачиваться (понятно, что это имеет как плюсы так и минусы) поэтому netsh advfirewall set allprofile state off лишит вас нескольких минут плясок с бубном.

Для нас большим преимуществом оказалась меньшая ресурсоемкость и, как следствие, скорость развертывания. Можем запускать больше виртуальных машин на одном виртуальном хостере. С помощью PowerShell автоматизирован процесс развертывания и настройки новых виртуальных машин. Активно применяется при тестировании. Ночью создаются машины, настраиваются, запускаются автотесты. Все работало и на обычном Server 2008, но занимало примерно на 30% больше времени на при немного меньшем покрытии.
Теги:
Хабы:
Всего голосов 13: ↑10 и ↓3+7
Комментарии4

Публикации