Create a static HTML web app in Azure

Azure App Service provides a highly scalable, self-patching web hosting service. This quickstart shows how to deploy a basic HTML+CSS site to Azure App Service. You'll complete this quickstart in Cloud Shell, but you can also run these commands locally with Azure CLI.


For information regarding hosting static HTML files in a serverless environment, please see Static Web Apps.

Home page of sample app

If you don't have an Azure subscription, create an Azure free account before you begin.


Download the sample

In the Cloud Shell, create a quickstart directory and then change to it.

mkdir quickstart

cd $HOME/quickstart

Next, run the following command to clone the sample app repository to your quickstart directory.

git clone

Create a web app

Change to the directory that contains the sample code and run the az webapp up command. In the following example, replace <app_name> with a unique app name. Static content is indicated by the --html flag.

cd html-docs-hello-world

az webapp up --location westeurope --name <app_name> --html


If you want to host your static content on a Linux based App Service instance configure PHP as your runtime using the --runtime and --os-type flags:

az webapp up --location westeurope --name <app_name> --runtime "PHP:8.1" --os-type linux

The PHP container includes a web server that is suitable to host static HTML content.

The az webapp up command does the following actions:

  • Create a default resource group.

  • Create a default app service plan.

  • Create an app with the specified name.

  • Zip deploy files from the current working directory to the web app.

This command may take a few minutes to run. While running, it displays information similar to the following example:

  "app_url": "https://&lt;app_name&gt;",
  "location": "westeurope",
  "name": "&lt;app_name&gt;",
  "os": "Windows",
  "resourcegroup": "appsvc_rg_Windows_westeurope",
  "serverfarm": "appsvc_asp_Windows_westeurope",
  "sku": "FREE",
  "src_path": "/home/&lt;username&gt;/quickstart/html-docs-hello-world ",
  &lt; JSON data removed for brevity. &gt;

Make a note of the resourceGroup value. You need it for the clean up resources section.

Browse to the app

In a browser, go to the app URL: http://<app_name>

The page is running as an Azure App Service web app.

Sample app home page

Congratulations! You've deployed your first HTML app to App Service.

Update and redeploy the app

In the Cloud Shell, type nano index.html to open the nano text editor. In the <h1> heading tag, change "Azure App Service - Sample Static HTML Site" to "Azure App Service", as shown below.

Nano index.html

Save your changes and exit nano. Use the command ^O to save and ^X to exit.

You'll now redeploy the app with the same az webapp up command.

az webapp up --location westeurope --name <app_name> --html

Once deployment has completed, switch back to the browser window that opened in the Browse to the app step, and refresh the page.

Updated sample app home page

Manage your new Azure app

To manage the web app you created, in the Azure portal, search for and select App Services.

Select App Services in the Azure portal

On the App Services page, select the name of your Azure app.

Portal navigation to Azure app

You see your web app's Overview page. Here, you can perform basic management tasks like browse, stop, start, restart, and delete.

App Service blade in Azure portal

The left menu provides different pages for configuring your app.

Clean up resources

In the preceding steps, you created Azure resources in a resource group. If you don't expect to need these resources in the future, delete the resource group by running the following command in the Cloud Shell. Remember that the resource group name was automatically generated for you in the create a web app step.

az group delete --name appsvc_rg_Windows_westeurope

This command may take a minute to run.

Next steps