在 Azure 存储中托管静态网站

可以直接从常规用途 V2 BlockBlobStorage 帐户中的容器提供静态内容(HTML、CSS、JavaScript 和图像文件)。 若要了解详细信息,请参阅 Azure 存储中的静态网站托管

本文介绍如何使用 Azure 门户、Azure CLI 或 PowerShell 启用静态网站托管。

启用静态网站托管

静态网站托管是必须在存储帐户上启用的一项功能。

可以使用 Azure PowerShell 模块启用静态网站托管。

  1. 打开 Windows PowerShell 命令窗口。

  2. 验证你是否具有 Azure PowerShell 模块 Az 版本 0.7 或更高版本。

    Get-InstalledModule -Name Az -AllVersions | select Name,Version
    

    如果需要进行安装或升级,请参阅安装 Azure PowerShell 模块

  3. 运行 Connect-AzAccount 命令以登录 Azure 订阅,并按照屏幕上的说明操作。

    Connect-AzAccount -Environment AzureChinaCloud
    
  4. 如果你的标识与多个订阅相关联,请将你的活动订阅设置为将托管静态网站的存储帐户的订阅。

    $context = Get-AzSubscription -SubscriptionId <subscription-id>
    Set-AzContext $context
    

    <subscription-id> 占位符值替换为你的订阅 ID。

  5. 获取定义了要使用的存储帐户的存储帐户上下文。

    $storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -AccountName "<storage-account-name>"
    $ctx = $storageAccount.Context
    
    • <resource-group-name> 占位符值替换为资源组的名称。

    • <storage-account-name> 占位符值替换为存储帐户的名称。

  6. 启用静态网站托管。

    Enable-AzStorageStaticWebsite -Context $ctx -IndexDocument <index-document-name> -ErrorDocument404Path <error-document-name>
    
    • <error-document-name> 占位符替换为当浏览器请求站点上不存在的页面时向用户显示的错误文档的名称。

    • <index-document-name> 占位符替换为索引文档的名称。 该文档通常是“index.html”。

上传文件

将对象从源目录上传到 $web 容器。

# upload a file
set-AzStorageblobcontent -File "<path-to-file>" `
-Container `$web `
-Blob "<blob-name>" `
-Context $ctx

备注

如果浏览器提示用户下载文件而不是呈现内容,则可以将 -Properties @{ ContentType = "text/html; charset=utf-8";} 追加到命令。

  • <path-to-file> 占位符值替换为要上传的文件的完全限定的路径(例如:C:\temp\index.html)。

  • <blob-name> 占位符值替换为要为生成的 blob 提供的名称(例如:index.html)。

查找网站 URL

可以使用网站的公共 URL 从浏览器查看网站的页面。

使用以下命令查找静态网站的公共 URL:

 $storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -Name "<storage-account-name>"
Write-Output $storageAccount.PrimaryEndpoints.Web
  • <resource-group-name> 占位符值替换为资源组的名称。

  • <storage-account-name> 占位符值替换为存储帐户的名称。

在静态网站页面上启用指标

启用指标后,指标仪表板会报告有关 $web 容器中的文件的流量统计信息。

  1. 单击“存储帐户”菜单“监视”部分下的“指标” 。

    Metrics link

    备注

    将通过挂接到不同的指标 API 来生成指标数据。 门户只会显示在给定时间范围内使用的 API 成员,以便重点关注可返回数据的成员。 为确保能够选择所需的 API 成员,第一步是展开期限。

  2. 单击“期限”按钮,选择一个期限,然后单击“应用”。

    Azure Storage static websites metrics time range

  3. 从“命名空间”下拉列表中选择“Blob”。

    Azure Storage static websites metrics namespace

  4. 然后选择“传出”指标。

    Screenshot that shows the Azure Storage static websites Egress metric.

  5. 从“聚合”选择器中选择“总和”。

    Azure Storage static websites metrics aggregation

  6. 单击“添加筛选器”按钮,并从“属性”选择器中选择“API 名称”。

    Azure Storage static websites metrics API name

  7. 在“值”选择器中选中“GetWebContent”旁边的复选框,以填充指标报告。

    Azure Storage static websites metrics GetWebContent

    备注

    只有在给定的期限内使用该 API 成员时,才会显示 GetWebContent 复选框。 门户只会显示在给定时间范围内使用的 API 成员,以便重点关注可返回数据的成员。 如果在此列表中找不到特定的 API 成员,请展开期限。

后续步骤