部署 Hugo 网站到 Netlify

栏目: 编程工具 · 发布时间: 5年前

内容简介:原文链接:Netlify 是什么?它是一家云计算公司,为静态网站提供托管和 serverless 后端服务。关键在于,与 GitHub 相比,Netlify 托管的网站速度更快,也更稳定。

原文链接: 部署 Hugo 网站到 Netlify

Netlify 是什么?它是一家云计算公司,为静态网站提供托管和 serverless 后端服务。

关键在于,与 GitHub 相比,Netlify 托管的网站速度更快,也更稳定。

本文就来介绍如何部署一个 Hugo 网站到 Netlify 和一些额外设置。

部署 Hugo 网站到 Netlify
Netlify Logo

主题子模块化

首先要 Fork 主题到你自己的账号,这样即可以自定义主题,又可以 Pull 到最新的更新。

然后要把 Hugo 网站的主题子模块化,因为 Netlify 不支持子模块以外的方法来使用主题,如最常见的:

git clone https://github.com/olOwOlo/hugo-theme-even themes/even
复制代码

如果原来使用的是 git clone 则需要先删除主题(注意备份),再在网站根目录下输入添加主题子模块的命令:

git submodule add https://github.com/linehk/hugo-theme-even.git themes/even
复制代码

如果在网站根目录下出现 .gitmodules 文件,且内容跟我的类似,则表示成功:

[submodule "themes/even"]
	path = themes/even
	url = https://github.com/linehk/hugo-theme-even.git
复制代码

可以选择在 .gitignore 中加入 public/ 来忽略掉 public 文件夹,因为已经不需要了。

然后 git push 到远程仓库即可。

部署

部署 Hugo 网站到 Netlify
部署总览

跟官网宣传的一样,部署 Hugo 网站到 Netlify 非常简单,步骤如下:

  1. 点击官网右上角的 Sign up 来注册登录
  2. 登录成功后会转到类似 app.netlify.com/teams/lineh… 的链接,点击 New site from Git 新建网站
  3. 选择前面部署到的代码托管平台,如: GitHub
  4. 选择前面上传到的远程仓库
  5. 【可选】在 Build command 加入 --cleanDestinationDir --forceSyncStatic --gc --ignoreCache --minify 等额外参数,这些参数的作用如下:
    • --cleanDestinationDir :构建前先清理目标文件夹,即 public
    • --forceSyncStatic :强制同步 static 文件夹
    • --gc :构建后执行一些清理任务(删除掉一些没用的缓存文件)
    • --ignoreCache :构建时忽略缓存
    • --minify :压缩网页(Debug 时慎用)
  6. 最后点击 Deploy site 即可

经过部署后已经可以通过 Netlify 分配的域名来访问网站了,如: sulinehk.netlify.com/

自定义域名

对于想对网站使用 主域名 而言,自定义域名很简单:

  1. 找到 Domain settings 选项卡,点击进入域名设置
  2. Custom domains 一项下点击 Add domain alias 来添加自定义域名
  3. 在弹出来的输入框输出主域名即可,如: www.sulinehk.com
  4. 在域名商处添加如下的 DNS 记录,等待 DNS 刷新,看到主域名处出现 NETLIFY DNS 的墨绿色标志即代表成功
dns1.p01.nsone.net
dns2.p01.nsone.net
dns3.p01.nsone.net
dns4.p01.nsone.net
复制代码

设置重定向

还是在 Custom domains 选项卡,点击 How to redirect the default Netlify subdomain to your primary domain 展开查看代码。

我的代码如下:

# These rules will change if you change your site’s custom domains or HTTPS settings

# Redirect default Netlify subdomain to primary domain
https://sulinehk.netlify.com/* https://www.sulinehk.com/:splat 301!
复制代码

static 目录下新建文件 _redirects ,粘贴代码进去。

开启 HTTPS

HTTPS 选项卡下的 SSL/TLS certificate 选项开启即可。

证书的签发者为 Let’s Encrypt ,支持自动续期。也可以自定义别的签发者。

如果想在 Chrome 地址栏里看到小绿锁(小灰锁),还需要把所有链接都替换成以 https:// 开头的链接。

接着在页面按下 F12 来打开开发者工具,并切换到 Network ,刷新页面,查看有什么请求不是以 https:// 发出的,修改相关页面来替换。

展示状态徽章

Status badges 选项卡下有个链接代码,该链接代码可以展示该网站的部署状态。

你可以在网站的 GitHub 仓库下的 README.md 文件中展示它,或者将它放在网站主页的 footer 上。

这是我的链接代码:

[![Netlify Status](https://user-gold-cdn.xitu.io/2019/6/18/16b68e92e8f41b91?w=136&h=20&f=svg&s=4820)](https://app.netlify.com/sites/sulinehk/deploys)
复制代码

还有它的展示效果:

部署 Hugo 网站到 Netlify

以上所述就是小编给大家介绍的《部署 Hugo 网站到 Netlify》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员的思维修炼

程序员的思维修炼

Andy Hunt / 崔康 / 人民邮电出版社 / 2010-12-10 / 39.00元

本书解释了为什么软件开发是一种精神活动,思考如何解决问题,并就开发人员如何能更好地开发软件进行了评论。书中不仅给出了一些理论上的答案,同时提供了大量实践技术和窍门。 本书供各层次软件开发人员阅读。一起来看看 《程序员的思维修炼》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具