About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
windows_first
⚠️
windows_tools
⚠️
missing_linux_example
Summary:
The documentation page demonstrates a Windows bias by referencing Windows file paths (e.g., D:\home\site\wwwroot) before Linux equivalents, using Windows-style path separators in examples, and omitting explicit Linux/Bash command examples or Linux-specific instructions. The focus is on Windows deployment patterns and tools, with minimal mention of Linux environments beyond brief parenthetical notes.
Recommendations:
- Provide Linux-specific examples alongside Windows ones, including file paths (e.g., /home/site/wwwroot) and deployment instructions.
- Use platform-agnostic path notation or show both Windows and Linux paths in all relevant sections.
- Include Bash or Linux shell command examples where Azure CLI is used, and clarify any differences in behavior or requirements between Windows and Linux App Service environments.
- Explicitly mention Linux deployment nuances, such as directory permissions or differences in mounting ZIP packages.
- Ensure troubleshooting and WebJob deployment sections address both Windows and Linux scenarios equally.
Create pull request
Flagged Code Snippets
Because the `WEBSITE_RUN_FROM_PACKAGE` app setting is set, this command doesn't extract the ZIP package content to the *D:\home\site\wwwroot* directory of your app. Instead, it uploads the ZIP file as-is to *D:\home\data\SitePackages*, and creates a *packagename.txt* in the same directory, that contains the name of the ZIP package to load at runtime. If you upload your ZIP package in a different way (such as [FTP](deploy-ftp.md)), you need to create the *D:\home\data\SitePackages* directory and the *packagename.txt* file manually.
The command also restarts the app. Because `WEBSITE_RUN_FROM_PACKAGE` is set, App Service mounts the uploaded package as the read-only *wwwroot* directory and runs the app directly from that mounted directory.
## Run from external URL instead
You can also run a ZIP package from an external URL, such as Azure Blob Storage. You can use the [Azure Storage Explorer](../vs-azure-tools-storage-manage-with-storage-explorer.md) to upload ZIP package files to your Blob storage account. You should use a private storage container with a [Shared Access Signature (SAS)](../vs-azure-tools-storage-manage-with-storage-explorer.md#generate-a-sas-in-storage-explorer) or [use a managed identity](#access-a-package-in-azure-blob-storage-using-a-managed-identity) to enable the App Service runtime to access the ZIP package securely.
> [!NOTE]
> Currently, an existing App Service resource that runs a local ZIP package cannot be migrated to run from a remote ZIP package. You will have to create a new App Service resource configured to run from an external URL.
Once you upload your file to Blob storage and have an SAS URL for the file, set the `WEBSITE_RUN_FROM_PACKAGE` app setting to the URL. Make sure the URL ends with `.zip`. The following example does it by using Azure CLI: