Con la piattaforma cloud di Microsoft sono presenti molteplici modi per ospitare il proprio applicativo, soprattutto se statico, cioè formato da soli file HTML, immagini e fogli di stili. Tra le possibili alternative c'è quella di poter usare un service plan Linux, piuttosto economico e allo stesso tempo performante. Su di esso possiamo eseguire vari runtime o container, ma sicuramente la forma più semplice consiste nello sfruttare NodeJS, già disponibile sul servizio.
Quando creiamo un'istanza, infatti, possiamo selezionare il tipo di plan e anche il tipo di runtime.

Creato il servizio, però, il sito risponde con una pagina statica che troviamo nella cartella /home/site/wwwroot, ma non è sufficiente cambiarne il contenuto. Come documentato al seguente indirizzo https://docs.microsoft.com/en-us/azure/app-service/configure-language-nodejs?pivots=platform-linux#configure-nodejs-server il sistema cerca alcuni file specifici per avviare tramite NPM il server node.js. In alternativa troviamo già a disposizione PM2, un pacchetto che già dispone di un web server e fornisce le funzionalità necessarie per l'hosting. Tutto quello che dobbiamo fare è andare sul portale ed entrare nella configurazione dell'app service.

Nella sezione general settings, oltre al runtime, possiamo specificare il comando di avvio, nello specifico indicare a PM2 di iniziare l'hosting della cartella prima menzionata.
pm2 serve /home/site/wwwroot --no-daemon
L'opzione --no-daemon specifica di avviare il processo in modalità console affinché sia visibile il log e il processo venga controllato da app service stesso. Così facendo i nostri contenuti statici verranno serviti.
Qualora il nostro applicativo fosse una SPA, possiamo aggiungere l'opzione --spa al fine di restituire il file index.html indipendentemente dall'indirizzo specificato (ad eccezione dei file fisici presenti).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Esporre un server MCP con Azure API Management
Implementare il throttle in JavaScript
Utilizzare WhenEach per processare i risultati di una lista di task
La gestione della riconnessione al server di Blazor in .NET 9
Supportare la crittografia di ASP.NET Core con Azure Container App
Esporre un server MCP esistente con Azure API Management
Configurare automaticamente un webhook in Azure DevOps
Utilizzare DeepSeek R1 con Azure AI
Dallo sviluppo locale ad Azure con .NET Aspire
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Gestione file Javascript in Blazor con .NET 9
Generare una User Delegation SAS in .NET per Azure Blob Storage
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Sfruttare una CDN con i bundle di ASP.NET
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Inserire le news di Punto Informatico nel proprio sito
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Le DirectInk API nella Universal Windows Platform
- Gli oggetti CallOut di Expression Blend 4.0


