部署Netlify站点博客

2022-09-29 16:46:18 浏览数 (1)

Netlify站点部署静态博客

今天尝试把站点部署在Netlify上,因为部署在GitHub Pages上,国内访问速度太慢了,所以就尝试一下别的站点,部署成功之后发现速度还是不太行,后边继续找找原因

Netlify 部署的地址在这里

下图展示GitHub Pages站点和Netlify站点的全国网速对比(数据来源站长工具)

总的来说,效果比GitHub Pages站点速度要快

问题记录

部署的时候,有几个问题,记录一下:

  1. 部署时告警信息直接就阻塞了部署进程,导致部署失败,猜测是一些类似代码扫描工具使然,然后我只得先把造成告警的 hexo-lazyload 插件给剔除掉,然后就可以了(还不了解Netlify的工作原理,只是临时处理方案)

以下是Netlify部署的部分日志信息

代码语言:javascript复制
2:13:23 PM: $ hexo generate
2:13:23 PM: INFO  Validating config
2:13:24 PM: INFO  Start processing
2:13:24 PM: INFO  neat the css: /opt/build/repo/source/_data/styles.styl [ 19.27% saved]
2:13:24 PM: INFO  neat the css: /opt/build/repo/source/_data/variables.styl [ NaN% saved]
2:13:34 PM: WARN  request remote img fail https://pic.imgdb.cn/item/63184ff316f2c2beb1e26ab9.png
2:48:42 PM: Build exceeded maximum allowed runtime
  1. Netlify部署成功之后,由于资源路径不正确,导致NexT主题不生效。我原先设置了路径 root: /blog/ ,然后就重新添加了一条记录,解析了一个新的二级域名用来访问博客,同时,这也给我带来了另外两个问题,如下:
  2. 原先站点 https://home.i-xiao.space/blog/ 上的不蒜子数据丢失了,重新初始化数据了。

“不蒜子”允许初始化首次数据,但是需要注册登录,目前“不蒜子”暂停了注册功能,那就先这样吧

  1. GitHub Pages站点不能正常访问。 给blog仓库设置 GitHub Pages,绑定心得个人二级域名,在发布分支gh-pages下面生成一个CNAME文件,用来存放个人二级域名。存在的问题是:hexo deploy 是把master分支下生成的public目录下的静态文件推送并覆盖gh-pages分支下的文件,因为每次生成的public目录下没有CNAME文件,所以CNAME文件就被冲掉了,造成的结果就是,每次自动部署都会把之前绑定的个人域名“解绑”,导致网站不能正常访问
  • 解决4:

方法一: 本地master分支,在source目录下新建一个CNAME文件,存放要绑定的域名,等到执行hexo g的时候,会把source目录下的文件“揍”到public下,然后推送到gh-pages分支上

xxx.xml 网站地图也可以用同样的方式放置到source目录

方法二: 理论上也可以在generateAfter事件中使用node处理

CNAME配置及工作原理探究

配置主要有两步:

  1. 个人域名增加 CNAME(可以理解为IP昵称(域名的)的昵称(CNAME)) 记录,记录值指向托管网站分配的域名(不带 http(s)

    0 人点赞