DEV Community

loading...

Force restart your Azure App service site and host

Darragh O'Riordan
Hi! I'm Darragh ORiordan. I live and work in Sydney, Australia enjoying the mountains and the ocean. I build and support happy teams that create high quality software for the web!
Originally published at darraghoriordan.com on ・2 min read

Sometimes your Azure App service host will need to be restarted. You can do this but it’s hidden away in the Azure resource manager site. Here’s how to find it!

Why restart the host

Sometimes your app service host can get into a broken state or you want make sure that it is in a fresh state.

For example I had to do this recently when trying to upgrade an App Services site to Node 14 and it failed because PM2 was missing on the App Service Linux container.

You might see errors like this that the App service instance doesn’t recover from

[error]Error: Failed to swap App Service 'YOUR_SITE' slots - 'staging' and 'production'. Error: ExpectationFailed - Cannot swap site slots for site 'YOUR_SITE' because the 'staging' slot did not respond to http ping. (CODE: 417)
Enter fullscreen mode Exit fullscreen mode

Or

[error]Error: Failed to swap App Service 'YOUR_SITE' slots - 'staging' and 'production'. Error: Conflict - Cannot modify this site because another operation is in progress. Details: Id: 45210a29, OperationName: SwapSiteSlots, CreatedTime: 5/20/2021 2:01:30 AM, WebSystemName: websites, SubscriptionName: , WebspaceName: YOUR_SITE, SiteName: ***, SlotName: staging, ServerFarmName: , GeoOperationId: (null) (CODE: 409)
Enter fullscreen mode Exit fullscreen mode

Azure resource manager

Azure provides a nice ARM interface of all your resources at https://resources.azure.com.

If you work with Azure resources then it’s worth getting familiar with this interface - you can use it to quickly extract ARM template details, you can easily update settings and fully manage the resources you have access to using the Azure Api through the website.

Find the App Service Resource

To find the app service resource you have to dig in to the tree menu on the left. The path is:

Subscriptions > YOUR_SUBSCRIPTION > resourceGroups > YOUR_RESOURCE_GROUP > providers > Microsoft.Web > sites > YOUR_SITE

and select the site name. Make sure you select the site name! You should see something like

{
  "id": "/subscriptions/...",
  "name": "YOUR_SITE",
  "type": "Microsoft.Web/sites",

Enter fullscreen mode Exit fullscreen mode

Note if you are trying to restart a slot you need to go a step further in the tree:

Subscriptions > YOUR_SUBSCRIPTION > resourceGroups > YOUR_RESOURCE_GROUP > providers > Microsoft.Web > sites > YOUR_SITE > slots > YOUR_SLOT_NAME

Change the interface to edit mode

Click the big Edit button!

Edit button
Edit button

How to turn off the site instance

Find the section below and change “Running” to “Stopped”

 "properties": {
    "name": "YOUR_SITE",
    "state": "Running",
    "hostNames": [
      "YOUR_SITE.azurewebsites.net"
    ],


 "properties": {
    "name": "YOUR_SITE",
    "state": "Stopped",
    "hostNames": [
      "YOUR_SITE.azurewebsites.net"
    ],

Enter fullscreen mode Exit fullscreen mode

Turn off the App Services host

You have to find this setting and change it to true

    "scmSiteAlsoStopped": false,

    "scmSiteAlsoStopped": true,
Enter fullscreen mode Exit fullscreen mode

Save

To save your changes click on the PUT button.

Discussion (0)