Troubleshooting Azure App Service Startup Failures

Troubleshooting Azure App Service Startup Failures

One of the most common issues with Azure App Service is when your web app refuses to start after deployment.

The symptoms usually look like this:

  • The app returns HTTP 500 – Internal Server Error
  • You see Service Unavailable (503)
  • The container or code doesn’t start properly

This is a real-world headache because you deploy with confidence, but the app never comes up.

Step 1: Check App Service Logs

Enable Application Logging and Web Server Logging.

Azure Portal → App Service → Monitoring → App Service logs

Or use Azure CLI:

az webapp log config \
   --name MyAppService \
   --resource-group MyRG \
   --application-logging filesystem \
   --web-server-logging filesystem

Check the LogFiles directory in Kudu Console (https://.scm.azurewebsites.net/DebugConsole).

Step 2: Use Kudu Console to Debug

The Kudu Console is your best friend.

Navigate to: https://.scm.azurewebsites.net

Go to Debug Console → CMD

Run commands like:

dir site\wwwroot Check if your files are deployed correctly. Missing web.config or package.json often causes startup failures.

Step 3: Validate Application Settings

Misconfigured settings = silent failure.

In Azure Portal → App Service → Configuration → Application Settings

Verify connection strings (DB, Storage, APIs)

Ensure ASPNETCORE_ENVIRONMENT or WEBSITE_NODE_DEFAULT_VERSION is set correctly

Step 4: Check Deployment Logs

If you’re deploying with CI/CD (Azure DevOps, GitHub Actions), open the Deployment Center logs.

az webapp deployment list-publishing-profiles \
   --name MyAppService \
   --resource-group MyRG

This will show if your build failed before reaching App Service.

Step 5: Scale & Restart

Sometimes, it’s just about resources.

Restart the App Service from Portal or CLI:

az webapp restart --name MyAppService --resource-group MyRG

If your app needs more memory, move from B1 (Basic) → S1 (Standard) or higher.

Common Causes of Startup Failures Missing Dependencies → Node.js, Python, or .NET versions mismatched

Wrong Startup Command → Custom container apps fail if startup.txt or CMD isn’t configured

Port Issues → Containers must listen on PORT=80

Database Connectivity → App boots, but crashes due to DB connection timeout

Best Practices

Always use App Service Diagnostics → (Portal → App Service → Diagnose and Solve Problems)

Enable Health Check under App Service → Monitoring

Use Deployment Slots (Staging → Production) to avoid downtime

Final Take

Startup issues in Azure App Service are painful but preventable. With logs, Kudu console, and configuration checks, you can usually fix them within minutes.

Think of this as a standard L1/L2 troubleshooting checklist before escalating further.

– Kasi @ KasdevTech or LinkedIn