Exportar (0) Imprimir
Expandir todo

Configurar los componentes de IIS en Windows Azure

Actualizado: noviembre de 2013

Puede utilizar el elemento Startup para especificar tareas de configuración del entorno del rol web. Las aplicaciones que se implementan en Windows Azure deben cumplir normalmente una serie de requisitos previos que se deben instalar en el equipo host. Puede utilizar las tareas de inicio para instalar los requisitos previos o para modificar la configuración del entorno. Los roles web y de trabajo se pueden configurar de esta manera.

noteNota
El elemento Startup se encuentra disponible si utiliza Windows Azure SDK versión 1.3 o versiones posteriores.

Para configurar el servicio con el fin de que ejecute una tarea de inicio, debe agregar el nodo Startup al archivo de definición de servicio. El nodo Startup especifica la tarea a realizar. Suele ser un archivo CMD que contiene un script que se puede ejecutar en modo desatendido.

El siguiente ejemplo de código muestra una tarea de inicio que configura un rol web de IIS mediante la ejecución del archivo de script 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>

Cuando se especifica una tarea de inicio, puede elegir uno de los siguientes valores de contexto de ejecución:

  • Limitado: ejecutar con los mismos privilegios que el rol que hospeda el proceso.

  • Elevado: ejecutar con privilegios de administrador.

Están disponibles los valores de tipo de tarea siguientes:

  • Sencilla (este es el valor predeterminado): el sistema espera que la tarea salga antes de que se inicien otras tareas.

  • En segundo plano: el sistema no espera a que la tarea salga para iniciar otras tareas.

  • En primer plano: similar a la de segundo plano, salvo que el rol no se reinicia hasta que todas las tareas en segundo plano salgan.

noteNota
Los comandos y archivos por lotes para las tareas de inicio deben estar guardados en formato ANSI. Los formatos de archivo que establecen un marcador de orden de bytes al principio del archivo no se procesarán correctamente.

Para admitir una aplicación de Windows Azure, es posible que tenga que instalar componentes de servidor adicionales o paquetes que no sean de Microsoft. En una situación así, puede utilizar la herramienta de línea de comandos del Instalador de plataforma web de Microsoft (Web PI) para realizar la tarea. El Web PI es una herramienta que facilita la tarea de obtener los componentes más recientes de la plataforma web de Microsoft, lo cual incluye Internet Information Services (IIS), SQL Server Express, .NET Framework y Visual Web Developer. El Web PI también hace más sencillas la instalación y ejecución de aplicaciones web gratuitas. Para obtener más información acerca del Web PI, vea Instalador de plataforma web de Microsoft.

Para obtener información adicional sobre WebPiCmdLine, vea Usar la herramienta de línea de comandos WebPICmd.

Un componente que suelen instalar los usuarios es el preprocesador de hipertexto (PHP). El procedimiento siguiente describe cómo instalar PHP para el servicio. En el siguiente procedimiento, se parte de la base de que ha creado un proyecto de Windows Azure con al menos un rol web. Para obtener más información sobre cómo crear un proyecto de Windows Azure con Visual Studio, vea Crear un nuevo proyecto de Windows Azure con Visual Studio.

  1. Descargue la herramienta de línea de comandos Web PI.

  2. Extraiga los archivos de WebpiCmdLine.exe, Microsoft.Web.Deployment.dll, Microsoft.Web.PlatformInstaller.dll y Microsoft.Web.PlatformInstaller.UI.dll en una carpeta del proyecto de Windows Azure.

  1. Abra el proyecto de Windows Azure en Visual Studio.

  2. En el Explorador de soluciones expanda la solución.

  3. Haga clic con el botón primario en rol web. Haga clic en Agregar y, a continuación, en Nueva carpeta.

  4. Asigne a la carpeta el nombre inicio.

  5. Haga clic con el botón primario en la carpeta inicio. Haga clic en Agregar y, a continuación, en Elemento existente.

  6. Vaya a la carpeta donde se extrajeron los archivos Webcmdline. Seleccione los tres archivos DLL y el archivo EXE, y haga clic en Agregar.

  7. En la carpeta inicio, seleccione los tres archivos DLL y el archivo EXE. En el panel de propiedades, establezca Copiar en el directorio de resultados en Copiar si es posterior.

En el siguiente procedimiento creará el archivo CMD que se ejecutará como una tarea de inicio. El archivo de comandos utiliza el instalador de la línea de comandos de Web PI para instalar el PHP 5.3.

  1. Abra el Bloc de notas o su editor de texto de preferencia.

    WarningAdvertencia
    Los archivos de texto que se crean en Visual Studio se guardan de forma predeterminada en un formato que incluye una marca de orden de bytes, lo cual hace imposible que se ejecuten como archivos por lotes. Si utiliza Visual Studio para crear el archivo de comandos, utilice el menú de opciones avanzadas de Guardar archivo <nombre de archivo> como en Archivo para guardar el archivo en un formato que se pueda ejecutar en Windows Azure. Para ir al menú de opciones avanzadas, haga clic en el rectángulo pequeño a la derecha del botón Guardar y haga clic en Guardar con codificación para abrir el cuadro de diálogo Opciones avanzadas para guardar. Utilice este cuadro de diálogo para especificar la codificación del archivo. Unicode (UTF8 sin firma) - Página de códigos 65001 funciona para guardar archivos de comandos que se ejecutan correctamente.

  2. Copie y pegue los siguientes comandos en el archivo.

    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. Haga clic en Archivo y, a continuación, en Guardar como…. Escriba InstallPHP.cmd y haga clic en Guardar.

  4. En el Explorador de soluciones expanda la solución.

  5. Haga clic con el botón primario en la carpeta inicio. Haga clic en Agregar y, a continuación, en Elemento existente.

  6. Vaya a la carpeta donde se guardó el archivo InstallPHP.cmd. Seleccione el archivo y haga clic en Agregar.

  7. En la carpeta inicio, seleccione el archivo InstallPHP.cmd. En el panel de propiedades, establezca Copiar en el directorio de resultados en Copiar si es posterior.

  1. En el Explorador de soluciones, haga doble clic en ServiceDefinition.csdef para abrirlo.

  2. Busque el rol web en el archivo de definición de servicio.

  3. Copie y pegue el siguiente fragmento XML justo antes de la marca </WebRole>.

    ...
        <Startup>
          <Task commandLine="startup\InstallPHP.cmd" executionContext="elevated" taskType="simple"/>
        </Startup>
    ...
    
  4. Guarde el archivo.

La solución del proyecto de Windows Azure se asemejará a lo siguiente una vez haya terminado.

Carpeta de inicio del Explorador de soluciones de VS

Vea también

Mostrar:
© 2014 Microsoft