Экспорт (0) Печать
Развернуть все

Настройка компонентов IIS в Azure

Обновлено: Октябрь 2014 г.

Элемент Startup можно использовать для определения задач по настройке среды веб-роли. Приложения, развернутые на Windows Azure, обычно имеют набор необходимых компонентов, которые необходимо установить на главном компьютере. Можно использовать эти автозагружаемые задачи для установки необходимых компонентов или изменения параметров конфигурации для среды. Таким образом можно настроить и веб-роли, и рабочие роли.

noteПримечание
Элемент Startup доступен в версии пакета Windows Azure SDK 1.3 и более поздних.

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

В следующем примере кода показана автозагружаемая задача, которая настраивает веб-роль служб IIS, выполняя файл скрипта CMD.

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="IIS_Demo" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
   <WebRole name="MyWebRole">
      <Startup>
         <Task commandLine="ConfigureIIS.cmd" executionContext="elevated" taskType="simple" />
      </Startup>
      <Sites>
         <Site name="Web">
            <Bindings>
               <Binding name="HttpIn" endpointName="HttpIn" />
            </Bindings>
         </Site>
      </Sites>
      <Endpoints>
         <InputEndpoint name="HttpIn" protocol="http" port="80" localPort="80" />
      </Endpoints>
   </WebRole>
</ServiceDefinition>

При указании автозагружаемой задачи можно выбрать одно из следующих значений контекста выполнения:

  • Limited. Запуск с такими же правами доступа, как роль, которая размещает процесс.

  • Elevated. Запуск с правами администратора.

Также доступны следующие значения типов задачи:

  • Simple (значение по умолчанию). Система ждет завершения задачи перед запуском любых других задач.

  • Background. Система не ждет завершения задачи перед тем, как другие задачи будут запущены.

  • Foreground. Аналогично background, кроме того, что роль не перезапускается, задача foreground не завершится.

noteПримечание
Команды и пакетные файлы для автозагружаемых задач необходимо сохранять в формате ANSI. Форматы файлов, в которых устанавливается маркер порядка следования байтов в начале файла, обрабатываются неправильно.

Для поддержки приложения Windows Azure может потребоваться установить дополнительные компоненты сервера или пакеты сторонних производителей. Для этой задачи можно использовать средство командной строки Microsoft Web Platform Installer (web PI). Web PI — инструмент, который позволяет простым образом получать последние компоненты веб-платформы Майкрософт, в том числе службы IIS, SQL Server Express, .NET Framework и Visual Web Developer. Web PI также облегчает установку и запуск многих бесплатных веб-приложений. Дополнительные сведения о Web PI см. в разделе Установщик Microsoft Web Platform Installer.

Дополнительные сведения о WebPiCmdLine см. в статье Использование средства командной строки WebPICmd.

Одним из общих компонентов, который устанавливают пользователи, является препроцессор гипертекста (PHP). В следующей процедуре описано, как установить PHP для службы. В следующей процедуре предполагается, что проект Windows Azure создан по крайней мере с одной ролью сети. Дополнительные сведения о создании проекта Windows Azure в Visual Studio см. в разделе Создание нового проекта Windows Azure в Visual Studio

  1. Загрузите средство командной строки Web PI.

  2. Извлеките файлы WebpiCmdLine.exe, Microsoft.Web.Deployment.dll, Microsoft.Web.PlatformInstaller.dll и Microsoft.Web.PlatformInstaller.UI.dll в папку проекта Windows Azure.

  1. Откройте проект Windows Azure в среде Visual Studio.

  2. В обозревателе решений разверните решение.

  3. Щелкните веб-роль левой кнопкой. Нажмите кнопку Создать, а затем щелкните Создать папку.

  4. Назовите папку startup.

  5. Щелкните папку startup левой кнопкой. Нажмите Добавить и выберите Существующий элемент.

  6. Перейдите к папке, в которую извлечены файлы Webcmdline. Выберите три файла библиотек DLL и файл EXE и щелкните Добавить.

  7. В папке startup выберите три файла библиотек DLL и файл EXE. Во вкладке свойств установите для параметра Копировать в выходной каталог значение Копировать более новые.

В следующей процедуре будет создан файл CMD, который будет выполняться как автозагружаемая задача. Командный файл использует установщик командной строки Web PI для установки PHP 5.3.

  1. Откройте блокнот или предпочтительный текстовый редактор.

    WarningПредупреждение
    Текстовые файлы, созданные в Visual Studio, сохраняются по умолчанию в формате, который включает отметку порядка следования байтов, что делает невозможным выполнять их как пакетные файлы. Если среда Visual Studio используется для создания командного файла, то примените дополнительные параметры меню Сохранить файл <file name> как в меню Файл, чтобы сохранить файл в формате, который может быть запущен на Windows Azure. Для доступа к дополнительным параметрам меню нажмите маленький прямоугольник справа от кнопки Сохранить и нажмите кнопку Сохранить с кодировкой, чтобы открыть диалоговое окно Расширенные параметры сохранения. Используйте это диалоговое окно для указания кодировки файла. Для сохранения командных файлов с возможностью правильного запуска используется кодовая страница 65001 (Юникод UTF8 без сигнатуры).

  2. Скопируйте и вставьте в файл следующие команды.

    md "%~dp0appdata"
    reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d "%~dp0appdata" /f
    %~dp0webpicmdline /AcceptEula /Products:PHP53 >>log.txt 2>>err.txt
    reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d %%USERPROFILE%%\AppData\Local /f
    
    
  3. Нажмите кнопку Файл, а затем Сохранить как... Введите InstallPHP.cmd и нажмите кнопку Сохранить.

  4. В обозревателе решений разверните решение.

  5. Щелкните папку startup левой кнопкой. Нажмите Добавить и выберите Существующий элемент.

  6. Перейдите к папке, в которой был сохранен файл InstallPHP.cmd. Выберите файл и нажмите кнопку Добавить.

  7. В папке startup выберите файл InstallPHP.cmd. Во вкладке свойств установите для параметра Копировать в выходной каталог значение Копировать более новые.

  1. В обозревателе решений дважды щелкните ServiceDefinition.csdef, чтобы открыть его.

  2. Найдите веб-роль в файле определения службы.

  3. Скопируйте и вставьте следующий фрагмент XML перед тегом </WebRole>.

    ...
        <Startup>
          <Task commandLine="startup\InstallPHP.cmd" executionContext="elevated" taskType="simple"/>
        </Startup>
    ...
    
  4. Сохраните файл.

По окончании решение проекта Windows Azure будет выглядеть следующим образом.

Папка startup в обозревателе решений VS

См. также

Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
Показ:
© 2015 Microsoft