Netlify 部署hexo博客绑定自定义域名方法记录

背景

github提供gitpage可以基于本地hexo环境构建个人博客站点,而且速度很快。 但是有个致命问题,百度不收录gitpage 站点,原因据说是gitpage 屏蔽百度蜘蛛,由于个人站点大量被百度蜘蛛访问,导致github 负载增加,github所以屏蔽了百度。

导致结果: 网址不会被百度收录。

寻找解决方案

参考文章:https://blog.csdn.net/grackanil/article/details/81196931

GitHub Pages

被设计为直接来源于GitHub仓库的个人、组织或项目主页。
提供静态网站托管服务
不支持服务端代码,比如 PHP、Ruby 或 Python
GitHub Pages 提供的域名可以支持 HTTPS 访问
可以配置自定义的域名,但是无法给自定义的域名配置 SSL ,HTTPS is not supported for GitHub Pages using custom domains. 查阅 Github Help,所有 GitHub Pages 网站(包括使用自定义域正确配置的网站)已经都支持 HTTPS 和 HTTPS 强制实施。
响应速度还是有点慢
网站仓库小于1GB,带宽限制 100GB/每月,构建限制10次/每小时

Netlify

不支持后台逻辑运算能力的网页
如果要部署 Hexo 大体思路是,通过 CLI (命令行界面)将 md 渲染为静态网站,然后通过 git 部署到 Git 平台,然后使用 Netlify 的 webhook 自动抓取部署
具有全球CDN、持续部署、一键HTTPS等优势
能通过客户端 JS 与可重用 API 可以带来动态功能,炫酷。
可以使用 Hugo 静态网站生成器和 Hetlify 网站自动化系统配合,以解决 Github Pages 的不支持 HTTPS 和 响应慢的问题

Coding Pages

由国内 Coding 提供
访问速度友好
可以做 GitHub Pages 和 Coding Pages 同时部署 Hexo,然后通过域名 DNS 解析,国外访问 GitHub Pages ,国内 访问 Coding Pages, 以优化访问速度
可以免费绑定多个自定义域名
自定义域名可以享有免费 SSL 证书,全站支持 HTTPS 协议
更新代码库就可以自动部署。服务器稳定,香港服务器国外支持也友好
新增动态页面部署
有一个小问题是,网站首页如果不放置官方『Hosted by Coding Pages』的链接,会系统添加中间『Hosted by Coding Pages』页面。
GitLab Pages 是由 GitLab 提供,旨在为 GitLab 工程、个人、groups 创建网站。
可以使用任何静态网站生成器,如 Jekyll、Middleman、Hexo、Hugo、Pelican等
可以配置自定义域名 HTTPS,需要的是上传证书

Now

不仅支持静态网站托管,也支持 JavaScript(Node.js) 或者 Docker 驱动的网站,
可以使用 CLI 或者链接 Git 仓库
支持自定义域名,开启 HTTPS
传输基于 HTTP/2
不需要安装 Git 等源代码控制工具,不需要设置 keys 或者 tokens
实时部署。
Firebase Hosting
只能 CLI
支持自定义域名并支持开启 HTTPS
支持重定向和重写。
Bitbucket Cloud
必须要通过 HTTPS 访问
不能自定义域名
所有项目的静态网站代码都只能放在专门的站点仓库里。
页面缓存 15 分钟,意味着改变不会立即可见。

Aerobatic

可以支持 CLI 上传代码
自定义域名需要收费。

Surge

只支持 CLI
支持自定义域名,开启 SSL 是需要收费,同时需要自己上传证书

总结

决定使用netlify 提供得部署,源代码依然在github上,netlify提供执行hexo相关命令环境,同时个人域名绑定都切换到netlify上, netlify 而且提供了免费https服务。

netlify 基于github 更新,github 对应的项目更新,netlify自动编译部署。这样免去了本地hexo环境。

个人测试速度还是有些差异:ping netlify 主机和gitpage 主机。

部署在gitpage的站点

$ ping yuv420.com

Pinging yuv420.com [185.199.109.153] with 32 bytes of data:
Reply from 185.199.109.153: bytes=32 time=56ms TTL=52
Reply from 185.199.109.153: bytes=32 time=57ms TTL=52
Reply from 185.199.109.153: bytes=32 time=56ms TTL=52
Reply from 185.199.109.153: bytes=32 time=57ms TTL=52

Ping statistics for 185.199.109.153:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 56ms, Maximum = 57ms, Average = 56ms

部署在netlify的站点

$ ping yuv420.com

Pinging yuv420.com [178.128.17.49] with 32 bytes of data:
Reply from 178.128.17.49: bytes=32 time=103ms TTL=53
Reply from 178.128.17.49: bytes=32 time=103ms TTL=53
Reply from 178.128.17.49: bytes=32 time=103ms TTL=53
Reply from 178.128.17.49: bytes=32 time=103ms TTL=53

Ping statistics for 178.128.17.49:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 103ms, Maximum = 103ms, Average = 103ms

具体部署过程

之前github上已经备份了hexo 以及网址原文件:

netlify 新建项目,并授权访问github hexo 项目(生产hexo静态页面的hexo源文件)
同时提供hexo 命令

设置好后,添加自己的域名。

同时修改域名服务器dns到netlify 提供的dns

相关参考:

Netlify搭建个人博客设置域名

google 提交网址验证

具体参考:https://www.woguide.com/archives/4933.html

相关问题

deploy 在netlify 中看不到日志

被墙了,具体可以参考


文章作者: YUV420.COM
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 YUV420.COM !
评论
 上一篇
优秀图片处理工具合集(持续更新中) 优秀图片处理工具合集(持续更新中)
本文收录整理一些优秀的图片处理工具,持续更新中… 更多内容请移步影音视频技术空间主页【资源链接】 图片去背景,在线图片去底色工具BgRemover - 在线图片去底工具 - 将纯色背景的图片转换为背景透明的图片 http://www.aig
2019-12-27
下一篇 
Markdown语法详解 Markdown语法详解
常用快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q 插入链接 Ctrl + L 插入代码 Ctrl + K 插入图片 Ctrl + G 提升标题 Ctrl + H 有序列表 Ctrl + O 无序列表 Ctr
2019-12-24
  目录