Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Configurare i componenti di IIS in Azure

Configurare i componenti di IIS in Azure

Aggiornamento: ottobre 2014

È possibile utilizzare l'elemento Startup per specificare le attività per configurare l'ambiente del ruolo Web. Le applicazioni distribuite in Azure dispongono in genere di un set di prerequisiti che devono essere installati nel computer host. È possibile utilizzare le attività di avvio per installare i prerequisiti o per modificare le impostazioni di configurazione per l'ambiente. I ruoli di lavoro e Web possono essere configurati in questo modo.

noteNota
L'elemento Startup è disponibile con Azure SDK versione 1.3 e successive.

Per configurare il servizio per eseguire un attività di avvio, è necessario aggiungere il nodo Startup al file di definizione del servizio. Con il nodo Startup si specifica l'attività da eseguire. Si tratta in genere di un file CMD contenente uno script che può essere eseguito in modalità automatica.

Nell'esempio di codice seguente è illustrata un'attività di avvio con la quale viene configurato un ruolo Web IIS tramite l'esecuzione di un file 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>

Quando si specifica un'attività di avvio, è possibile scegliere uno dei seguenti valori per il contesto di esecuzione:

  • Limited: esecuzione con gli stessi privilegi del ruolo in cui il processo viene ospitato.

  • Elevated: esecuzione con privilegi di amministratore.

Sono disponibili i seguenti valori per i tipi di attività:

  • Simple (valore predefinito): il sistema attende la chiusura dell'attività prima di avviarne altre.

  • Background: il sistema non attende la chiusura dell'attività prima di avviarne altre.

  • Foreground: simile al valore background, con la differenza che il ruolo non viene riavviato fino a quando tutte attività in primo piano non vengono chiuse.

noteNota
I comandi e i file batch per le attività di avvio devono essere salvati in formato ANSI. I formati di file che prevedono l'impostazione di un marcatore per l'ordine dei byte all'inizio del file non vengono elaborati correttamente.

Per supportare un'applicazione Azure, potrebbe essere necessario installare componenti server aggiuntivi o pacchetti non Microsoft. In questo scenario, è possibile utilizzare lo strumento da riga di comando Installazione guidata piattaforma Web Microsoft (Web PI) per eseguire l'attività. Con Web PI è più semplice ottenere i componenti più recenti della piattaforma Web Microsoft, inclusi Internet Information Services (IIS), SQL Server Express, .NET Framework e Visual Web Developer. Web PI facilita inoltre l'installazione e l'esecuzione di molte applicazioni Web gratuite. Per ulteriori informazioni su Web PI, vedere la pagina relativa all'Installazione guidata piattaforma Web Microsoft.

Per ulteriori informazioni su WebPiCmdLine, vedere Utilizzare lo strumento da riga di comando WebPICmd.

Un componente comune installato dagli utenti è Hypertext Preprocessor (PHP). Nella procedura seguente viene illustrato come installare PHP per il servizio. Nella procedura si presuppone che sia stato creato un progetto Azure con almeno un ruolo Web. Per ulteriori informazioni sulla creazione di un progetto Azure con Visual Studio, vedere la pagina sulla creazione di un nuovo progetto Azure con Visual Studio.

  1. Scaricare lo strumento da riga di comando Web PI.

  2. Estrarre i file WebpiCmdLine.exe, Microsoft.Web.Deployment.dll, Microsoft.Web.PlatformInstaller.dll e Microsoft.Web.PlatformInstaller.UI.dll in una cartella nel progetto Azure.

  1. Aprire il progetto Azure in Visual Studio.

  2. In Esplora soluzioni espandere la soluzione.

  3. Fare clic sul ruolo Web. Fare clic su Aggiungi, quindi scegliere Nuova cartella.

  4. Denominare la cartella startup.

  5. Fare clic sulla cartella startup. Fare clic su Aggiungi, quindi scegliere Elemento esistente.

  6. Passare alla cartella in cui sono stati estratti i file Webcmdline. Selezionare i tre file DLL e il file EXE e fare clic su Aggiungi.

  7. Nella cartella startup selezionare i tre file DLL e il file EXE. Nel riquadro delle proprietà impostare Copia nella directory di output su Copia se più recente.

Nella procedura seguente verrà creato il file CMD da eseguire come attività di avvio. Nel file di comando viene utilizzato lo strumento da riga di comando Web PI per installare PHP 5.3.

  1. Aprire il Blocco note o l'editor di testo preferito.

    WarningAvviso
    I file di testo creati in Visual Studio vengono salvati per impostazione predefinita in un formato che include un indicatore per l'ordine dei byte che ne rende impossibile l'esecuzione come file batch. Se si utilizza Visual Studio per creare il file di comando, utilizzare il menu delle opzioni avanzate Salva file <nome file> con nome in File per salvare il file in un formato che può essere eseguito in Azure. È possibile accedere al menu delle opzioni avanzate facendo clic sul rettangolino a destra del pulsante Salva. Fare quindi clic su Salva con codifica per aprire la finestra di dialogo Opzioni di salvataggio avanzate. In questa finestra di dialogo è possibile specificare la codifica per il file. Unicode (UTF8 senza firma digitale) - Tabella codici 65001 permette di salvare file di comando che possono essere eseguiti correttamente.

  2. Copiare e incollare i comandi seguenti nel file.

    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. Fare clic su File, quindi su Salva con nome. Digitare InstallPHP.cmd e fare clic su Salva.

  4. In Esplora soluzioni espandere la soluzione.

  5. Fare clic sulla cartella startup. Fare clic su Aggiungi, quindi scegliere Elemento esistente.

  6. Passare alla cartella in cui è stato salvato il file InstallPHP.cmd. Selezionare il file e fare clic su Aggiungi.

  7. Nella cartella startup selezionare il file InstallPHP.cmd. Nel riquadro delle proprietà impostare Copia nella directory di output su Copia se più recente.

  1. In Esplora soluzioni fare doppio clic su ServiceDefinition.csdef per aprirlo.

  2. Individuare il ruolo Web nel file di definizione del servizio.

  3. Copiare e incollare il frammento XML seguente appena prima del tag </WebRole>.

    ...
        <Startup>
          <Task commandLine="startup\InstallPHP.cmd" executionContext="elevated" taskType="simple"/>
        </Startup>
    ...
    
  4. Salvare il file.

Al termine, la soluzione del progetto Azure sarà simile alla seguente.

Cartella startup in Esplora soluzioni di VS

Vedere anche

Mostra:
© 2015 Microsoft