Contents

使用Hugo+gitlab+render+顶级域名+cloudflare部署静态网站

Hugo+gitlab+render+顶级域名+cloudflare使用教程,自动部署教程

一、免费搭建程序跑网站

1、代码托管

使用了gitlab,这是一个免费的托管网站,和GitHub一样。我这用gitlab是不想和公开的代码放在一个平台上。

注册和操作git的流程基本都差不多,写好文章push上去即可。这就不详细介绍了。

2、网站服务器

这是一个静态网站,网上很多免费的服务即可实现。用国内的七牛云、腾讯云的cos,阿里云的oss都可以部署跑起来。或者阿里云、腾讯云购买轻量级的服务器也是够用的了。主要国内网站域名需要备案,一个简单的网站,不打算提供服务赚钱,放在海外也是可以的。针对静态程序,常见的有,vercel、netlify、zeabur、render。我这程序使用了后起之秀的render。

render介绍

Render是一个完全托管的云平台,你可以在一个地方托管静态网站、后端API、数据库、定时任务和其他所有应用程序。

在Render上,静态网站完全免费,并包括以下功能:

  • 从GitHub和GitLab进行持续、自动构建和部署。
  • 通过Let’s Encrypt自动获取SSL证书。
  • 通过快速的全球CDN进行即时缓存失效。
  • 无限协作者。
  • 无限自定义域名。
  • 自动使用Brotli压缩来加快网站速度。
  • 原生的HTTP/2支持。
  • 拉取请求预览。
  • 自动将HTTP重定向到HTTPS。
  • 自定义URL重定向和重写。

注册render使用邮箱注册即可。这就不详细写了。

3、程序部署发布

  1. 从GitLab上fork我们的的Hugo代码库

  2. 在Render上创建一个新的静态网站,并授予Render访问你的新代码库的权限

    https://www.maizimi.com/images/image-20231010171945381.png

    https://www.maizimi.com/images/image-20231010172021439.png

  3. 在创建过程中使用以下数值:

    Build Commandhugo --gc --minify
    Publish Directorypublic

https://www.maizimi.com/images/image-20231010172403712.png

就是这样!当构建完成后,你的应用程序将在Render的URL上运行。

二、自定义域名绑定

Render新增自定义域名

1、在创建好的服务中,找到 Settings 这项并进去, 之后拉到下面能看到Custom Domains 这个区域.

https://www.maizimi.com/images/custom-domain-start.png

2、点击 Add Custom Domain 之后进去自定义页面

如果你添加了一个包含www的域名,我们会自动添加不带www的网址,并将其重定向到带有www的网址。 如果你输入一个没有www的根域名(也称为顶级域名),我们会自动添加带有www的版本,并将其重定向到根域名。

https://www.maizimi.com/images/image-20231010173525996.png

上面的是我已经验证好了,刚添加会是下面这样的

https://www.maizimi.com/images/custom-domain-update-needed.png

在render上已经配置好了,下面就需要在cloudflare上配置了。

在cloudflare上配置域名

  1. 如果不在cloudflare上注册的域名,则把域名dns修改到cloudflare服务器。

  2. 登录 Cloudflare, 点击对应的maizimi.com域名进去,找到 SSL/TLS 设置. 设置SSL/TLS去勾选Full.

    https://www.maizimi.com/images/image-20231010174433315.png

  3. 在这域名中,进入DNS 设置

  4. 在对应的域名中,添加一条cname记录, name是@,Content是render提供的二级域名。

    https://www.maizimi.com/images/cloudflare-root.png

  5. 另外一条是www,Content还是render提供的那个二级域名。

    https://www.maizimi.com/images/cloudflare-www.png

  6. 由于render还没有被墙,Proxy status可以设置为DNS only,通过测试我设置Proxy反向反而更慢。

  7. 设置好是如下显示。

    https://www.maizimi.com/images/image-20231010175409556.png

    在render系统中也会显示Verified

    https://www.maizimi.com/images/image-20231010175458316.png

    访问域名

    网站在这已经搭建了,还是默认启动了https的,打开网名https://maizimi.com/ 会自动给跳转到https://www.maizimi.com/。

三、自动发布

网站部署了,发布也是使用静态网站最关心的问题,如果需要本地构建完成,再把public目录上传,那样会很麻烦。当然这个问题在render是非常简单的,都是自动发布了。流程如下:

写好文章用git push到gitlab 就会到render,就会自动发布。大概一分钟样子。gitlab 是会自动发布,但是如果使用github的话是需要另外在设置的。

四、web在线编辑

有时候我们换了电脑,不想本地在安装,需要在线编辑就可以提交了。在gitlab可使用WebIDE

https://www.maizimi.com/images/image-20231010180227840.png

打开WebIDE是如下界面

https://www.maizimi.com/images/image-20231010180257891.png