利用Azure资源,可以发布或托管创建个人静态网站

静态网站

静态网站是指全部由HTML(标准通用标记语言的子集)代码格式页面组成的网站,所有的内容包含在网页文件中。网页上也可以出现各种视觉动态效果,如GIF动画、FLASH动画、滚动字幕等,而网站主要是静态化的页面和代码组成,一般文件名均以htm、html、shtml等为后缀。

  • 静态网页一经发布到服务器上,无论是否被访问,都是一个独立存在的文件;
  • 静态网页的内容相对稳定,不含特殊代码,因此容易被搜索引擎检索;html更加适合SEO搜索引擎优化。
  • 静态网站没有数据库的支持,在网站制作和维护方面工作量较大;
  • 由于不需通过数据库工作,所以静态网页的访问速度比较快;

详见:https://baike.baidu.com/item/静态网站

方法1:利用Blog存储托管静态网站

可以直接通过名为 $web 的存储容器提供静态内容(HTML、CSS、JavaScript 和图像文件)。 通过将内容托管在 Azure 存储中,可以使用无服务器体系结构,包括 Azure Functions 和其他平台即服务 (PaaS) 服务。
参考Azure官方文档:Azure 存储中的静态网站托管

Blog存储web内容

  1. 在Blog中创建$web容器
  2. 对所有文件的公共(只读)访问权限
  3. 上传文件
    一般上传index.html和404.html文件。如果未指定错误文档,则会向用户返回默认 404 页面。

启用静态网站

在存储中的相应账户中找到静态网站并启动

保存以后系统自动生成可以访问的Url

查看:
一个静态网站已经可以使用了。

自定义域映射到静态网站 URL(可选)

本步骤的前提是已经设置了DNS区域并托管了域名,借助Azure CDN与自定义域配合实现https自定义域的映射。
如果只是http请求,请参考将自定义域映射到 Azure Blob 存储终结点:在启用仅限 HTTP 的情况下映射自定义域

对于我们使用的https:

  1. 在 Web 终结点上启用 Azure CDN。
  2. 将 Azure CDN 内容映射到自定义域。
  3. 在 Azure CDN 自定义域上启用 HTTPS。

首先,建立CDN终结点

成功以后

在DNS域中添加Cname记录,cname的别名就是终结点的名字

进入终结点配置,增加自定义域

此时已经可以访问

但是还没有TLS证书,需要在自定义域开启https。
开启https后,Azure CDN 完全负责料理TLS证书下发和续订等证书管理任务

整个过程会持续几分钟到十几分钟

完成以后,https显示正常

方法2:利用Azure Static Web app和Github Actions托管个人网站

本方法的web内容在github上,使用workflow的方式将每次更新的内容通知Azure static Web app更新,架构图如下

Github配置

  1. Github上新建一个repository

要求设定为Public。

  1. Azure 静态 Web 应用需要至少一个 HTML 文件来创建 Web 应用。 在此步骤中创建的存储库包括单个 index.html 文件。
    创建index.html作为测试web入口

  1. 在Setting找到Github Pages,将Source指向刚才我们设定index.html的位置并save

Azure配置

  1. 创建Static Web App

所有服务→Web→静态Web应用


有关托管计划:

连接到Github,选择建立好的repository


如果使用生成静态页面工具,如Hugo等,可以在这一步选择生成预设

创建成功之后

URL
https://green-mud-029266500.azurestaticapps.net
源
main (GitHub)
部署历史记录
GitHub Actions 运行次数
编辑工作流
azure-static-web-apps-green-mud-029266500.yml

Azure自动为Github生成工作流配置文件azure-static-web-apps-green-mud-029266500.yml并配置Secrets

name: Azure Static Web Apps CI/CDon:push:branches:- mainpull_request:types: [opened, synchronize, reopened, closed]branches:- mainjobs:build_and_deploy_job:if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')runs-on: ubuntu-latestname: Build and Deploy Jobsteps:- uses: actions/checkout@v2with:submodules: true- name: Build And Deployid: builddeployuses: Azure/static-web-apps-deploy@v1with:azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_GREEN_MUD_029266500 }}repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)action: "upload"###### Repository/Build Configurations - These values can be configured to match your app requirements. ####### For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfigapp_location: "/" # App source code pathapi_location: "" # Api source code path - optionaloutput_location: "public" # Built app content directory - optional###### End of Repository/Build Configurations ######close_pull_request_job:if: github.event_name == 'pull_request' && github.event.action == 'closed'runs-on: ubuntu-latestname: Close Pull Request Jobsteps:- name: Close Pull Requestid: closepullrequestuses: Azure/static-web-apps-deploy@v1with:azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_GREEN_MUD_029266500 }}action: "close"

Secrets可以在Github的Top repo Setting中找到

查看Web UI并修改

  1. 查看Web

  1. 对Index.html修改

  1. Github自动将文件Update并通知Azure更新


  1. 再次查看web

设置具有免费证书的自定义域(可选)

官方参考文档:在 Azure Static Web Apps 中设置具有免费证书的自定义域

Azure 静态 Web 应用默认提供自动生成的域名,Azure Static Web Apps 自动为自动生成的域名以及你可以添加的任何自定义域提供免费的 SSL/TLS 证书。

方案 示例 域验证方法 DNS 记录类型
添加根/顶点域 etaon.link TXT ALIAS
添加子域 www.etaon.link CNAME CNAME
  1. DNS区域添加www cname记录

  2. 静态Web应用中输入子域
    在 Azure 门户中打开你的静态 Web 应用,在菜单中选择“自定义域”。
    选择“添加”,“域名”字段中输入子域:
    www.etaon.link

  3. Azure 使用 TXT 记录来验证你是否拥有某个域。创建用于配置根域的 ALIAS 记录之前,需要先验证你是否拥有该域。
    选择静态 Web 应用,在菜单中选择“自定义域”,选择“添加”主机的域名后,配置 TXT 记录,类似于下图:

    选择“生成代码”按钮以生成唯一的代码。

  4. 在DNS区域中选择域名,建立新的记录集:TXT记录

  5. 验证成功以后,会显示下图

  6. 创建 ALIAS 记录
    ALIAS 记录将一个域映射到另一个域。 此记录专用于根域
    DNS区域记录:

  7. 设置默认域
    将自定义域指定为应用的默认域时,对其他域的请求会自动重定向到该默认域。 只能将一个自定义域设置为默认域。

    完成以后,就可以访问https://etaon.link或https://www.etaon.link

Azure-发布个人静态网站相关推荐

  1. 花一块钱----快速部署一个自己的静态网站(京东云服务器)

    最近参加了公司的前端后台团队帮忙,小白一枚,一直在学习,学习的都是基础,所以一个多月没有写博客. 前几天在大神郭林的公众号文章里发现了一片福利文章. 京东服务器搞活动,我花了一块钱买了两个月的(嘿嘿嘿 ...

  2. 微软正式发布Azure Storage上的静态网站

    微软正式宣布了Azure Storage上的静态网站,提供了从托管在Azure Storage上的HTML.CSS和JavaScript文件提供内容的能力.静态网站包含内容固定的Web页面,同时仍然允 ...

  3. VuePress 1.0.0 发布,Vue 轻量级静态网站生成器

    VuePress 1.0.0 正式版发布了.VuePress 是一个由 Vue 驱动的轻量级静态网站生成器,它是为了满足 Vue 自己的项目文档需求而创建的. VuePress 十分简单: # ins ...

  4. 通过git提交网站到码云(gitee)并部署发布静态网站

    文章目录 1.码云创建新的仓库 pinyougou: 2.利用git提交把本地网站提交到码云新建的仓库里面 3.码云部署发布静态网站 准备工作:需要下载git软件 需要码云注册账号 git可以把我们的 ...

  5. 使用阿里云dns+oss+cdn+ssl发布静态网站

    一.背景 公司为了做产品的推广,让前端团队开发了一个静态网站,打算部署到互联网,向外提供访问服务,提高宣传力度.像此类的部署我们原来是直接扔到阿里外网服务器上,然后部署到nginx.tomcat或ht ...

  6. 构建静态服务器_为静态网站构建无服务器联系表

    构建静态服务器 介绍 (Introduction) A few years ago AWS launched static hosting service S3, which was a paradi ...

  7. c#生成静态库_在 Blazor WebAssembly 静态网站中部署ML.NET机器学习模型

    目前世面上有许多方法来部署机器学习模型.最常见的方法是通过 API 或 serverless functions 将模型公开为 Web 服务.将模型部署为 Web 服务时,其中一个注意事项是延迟和性能 ...

  8. 自定义html托管,10分钟搞定“傻瓜式”的静态网站搭建托管之旅

    原文发布于微信公众号:腾讯云存储(关注有惊喜) 静态网站:有别于动态网站,它就是只包含静态内容(如图片.音频.视频.HTML.CSS.JS)的网站,不依赖服务器端动态渲染页面. 那么静态网站托管应该如 ...

  9. aws s3 静态网站_如何将静态网站或JAMstack应用托管并部署到AWS S3和CloudFront

    aws s3 静态网站 S3 and CloudFront are AWS cloud services that make serving static assets powerful and ch ...

最新文章

  1. python-66:BS4实例--下载BS4官方文档
  2. 界面 高炉系统_浅议工业互联网与传统计算机系统的关系
  3. router vue 动态改变url_Vue教程(路由router-基本使用)
  4. 数据库(Mysql)背后的数据结构-学习
  5. C++ 基础知识!初学者必看!
  6. 使用Servlet上传多张图片——实体层(ProductInfo.java)
  7. TensorFlow实验(3)
  8. php mvc 逻辑层在哪,mvc的业务逻辑应该放哪里?
  9. WARNING:Result from SERVER not valid. Partial Result:
  10. java时间日期类(Date、DateFormat、Calendar)学习
  11. attachEvent中this指向(转)
  12. 惠普136a芯片清零_怎么把惠普打印机芯片清零
  13. 软件集成测试分析,软件集成测试报告模板
  14. matlab 三对角矩阵 追赶法,追赶法求解三对角方程及其算例.doc
  15. Java链表——创建链表对象
  16. 读庄子-万物齐一和自然无为
  17. 淘宝客做不下去怎么办?
  18. 腾讯云服务器部署教程
  19. 软件测试学习之路-----文本编辑器和计算机基本命令笔记
  20. unwinding now org.apache.cxf.interceptor.Fault: Index: 1, Size: 1

热门文章

  1. 服务器内存怎么看型号,怎么查看服务器内存的型号
  2. js-打印1-100以内的质数(素数)
  3. 电脑上如何录制微信语音聊天
  4. 谐波减速器的结构简图及传动比说明
  5. 去面试却被问的哑口无言,是不是踏入了机器学习误区
  6. 中职计算机图形图像课程标准,计算机图形与图形图像处理技术的相互结合
  7. java 读取zip文件_JAVA实现zip文件内容读取及解压
  8. 【纯干货】SpringBoot 整合 ES 进行各种高级查询搜索
  9. 互联网短信网关接口协议(V3.0.0)
  10. 中国移动通信互联网短信网关接口协议及相关下载