通过|通过 hexo+serverless 快速搭建并部署一个自己的博客

先看一下我的博客效果:https://moohng.com,没有写一行代码,全都是一些简单的配置。
如果觉得还不错,接下来就从零开始介绍,照着做,差不多1个小时就可以搞定了。
创建站点项目 这是Hexo的官网:https://hexo.io/zh-cn/docs/,有基础的可直接参照官方文档来,然后跳到Serveless 部署部分。

  1. 本地 node 环境安装
    打开Node.js官网:https://nodejs.org/zh-cn/,选择最新的长期维护版下载,然后正常双击进行安装。
    安装完成之后,按住Win + X,选择PowerShell并打开,然后在当前命令行下输入npm -v回车,如果打印出了一个版本号,就说明Node.js安装成功了。
  2. Hexo 的安装
    在当前的命令行窗口输入npm install -g hexo-cli并回车,等待安装完成。
    npm install -g hexo-cli

  3. 创建站点项目
    找一个你用来放站点项目的文件夹(或桌面),按住Shift并在空白处鼠标右键,在弹窗的菜单中点击在此处打开 PowerShell 窗口。并依次输入下面的命令:
    # 初始化 hexo init my-site# 上面命令执行完之后,进入项目 cd my-site# 安装依赖 npm install# 运行 npm run server

    这时候,你的站点项目就已经创建好了,在浏览器输入http://localhost:4000就可以看到你的站点页面了。这是hexo官方默认的站点,接下来就配置成自己喜欢的站点风格吧。
hexo 配置 如果你电脑上没有合适的编辑器,建议安装Visual Studio Code进行后续操作。直接上官网:https://code.visualstudio.com/点击下载并安装。
安装好了VS Code,在当前的命令行下输入:
code .

如果打开失败,就直接在当前项目文件夹my-site鼠标右键,选择通过 Code 打开
VS Code中,打开_config.yml文件,该文件就是当前站点的配置文件。
里面有很多配置信息,大家可以参照官方文档:https://hexo.io/zh-cn/docs/configuration进行自定义,给大家看一下我的部分配置:
# Site title: 末日码农 - 专注前端,记录生活 subtitle: 一个前端码农,会写一点代码 description: 专注前端,记录生活!大量的优质技术文章和干货分享,公众号@末日码农 keywords: Hexo, js, Nodejs, React, Vue, JavaScript, CSS3, html, 前端, 程序员, 码农 author: 颜漠笑年 language: zh-CN timezone:# URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: https://moohng.com root: / permalink: :year:month:day/:id/ permalink_defaults:

除了Site下面的站点信息相关配置,大多数配置都可以保持默认就行。
然后就是主题的配置,我的站点选择的是Fluid主题,这是官方文档:https://hexo.fluid-dev.com/docs/),你也可以选择一款自己喜欢的主题,这是官方的主题列表:https://hexo.io/themes/。不过建议你上百度或谷歌上去搜索别人推荐的比较热门的主题,自己挑的话主题太多了,费时费力,而且主题参差不齐。
确定好主题之后,一般每个主题都有自己的配置文档介绍,我这里就根据我的主题来说一下吧。
  1. 安装主题
npm install npm install --save hexo-theme-fluid

  1. _config.yml文件中找到theme并配置fluid
# Extensions ## Plugins: https://hexo.io/plugins/ ## Themes: https://hexo.io/themes/ theme: fluid

  1. 在项目根目录下创建_config.fluid.yml文件,并将主题中_config.yml文件中的内容复制到该文件里。接下来的所有配置修改都应该在_config.fluid.yml文件中进行。
    注意:主题中的_config.yml文件位于node_modules\hexo-theme-fluid目录下
现在就可以根据fluid的官方文档进行个性化配置了,这里的配置项比较多,可以先全部保持默认,继续往下进行。
主题确定好了之后,重新运行npm run server命令,就可以看到效果了,现在你的站点就跟我的那个站点看起来风格差不多了。
关于写文章,Hexo都是基于MarkDown语法来的,如果不熟悉的话,就需要花点时间学习一下MarkDown语法,就能愉快的写自己的博客文章了。
最后,就可以部署上线了。
Github 部署 最简单的方法就是使用github的静态页面功能去部署了,但是对于小白的话就需要一定的Git基础。有需要的可以参考一下我17年写过的一篇文章《前端工具篇:浅谈Git和Github》:https://moohng.com/20170810/cl0albbhc00057wv28t0p5pti/
首先,在_config.yml配置文件中,配置github仓库信息(需要自己提前在github上建好,并将master分支开启Page功能):
# Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git branch: master repo: git@github.com:moohng/moohng.github.io.git

我是将master作为静态页面,dev分支作为当前项目仓库,这是我的项目地址:https://github.com/moohng/moohng.github.io。
要注意项目的名称,必须是moohng.github.io这种格式,最前面用你自己的github用户名替换,否则就不能以这个https://moohng.github.io作为你站点的域名了。
下面就生成静态页面并推送到GitHub仓库中去:
# 生成静态页面 npm run build# 部署到GitHub仓库 npm run deploy

到这一步,你的博客就算上线了。一般等上几分钟,就可以通过GitHub提供的域名访问了。
通过github作为博客站点的优势就是:自定义的域名不需要备案,而且还是完全免费的。
但是唯一的缺点就是:国内的访问速度很慢,有时候可能甚至打不开。
serverless 部署 选择serverless的原因,一方面是国内服务器,访问速度很快;另一方面是serverless本身也很划算,每个月都有免费的额度,对于个人博客站点,基本上也是不花钱的。
现在国内最大的应该就是阿里云和腾讯云两家了,我用的是腾讯云的serverless。
关于serverless相关的概念知识点比较多,对于非专业人士确实有很高的学习成本,官方文档都跟小说似的太多了。可以去看一下https://cloud.tencent.com/document/product。
添加配置文件
首先你得有一个腾讯云的账户,没有自己去官网注册一个,建议绑定微信扫码登录,后面会方便很多。
接下来就在我们的项目根目录里面添加一个腾讯云的配置文件serverless.yml,然后输入以下内容:
# serverless.yml component: website # (必填) 引用 component 的名称,当前用到的是 tencent-website 组件 name: hexoComponent # (必填) 该 website 组件创建的实例名称 app: websiteApp # (可选) 该 website 应用名称 stage: dev # (可选) 用于区分环境信息,默认值是 dev inputs: src: src: ./public # Upload static files generated by HEXO index: index.html # dist: ./dist # hook: npm run build # websitePath: ./ region: ap-guangzhou bucketName: my-bucket protocol: https

其中主要就是inputs.src.src要指定正确,因为hexo生成的站点页面,默认是放在public下的,所以这里就需要指定目录为./publicindex字段站点的入口,一般都是index.html就行了。其他的一些配置信息,刚开始不明白可以先不要动。
腾讯云的配置文件有了,站点页面也有了,现在就需要将本地的项目上传到腾讯云空间中去。
cli 命令安装
先在本地安装serverless命令:
npm install -g serverless# 安装完成后,查看版本信息,确认是否安装成功 serverless -v

【通过|通过 hexo+serverless 快速搭建并部署一个自己的博客】其实上一步的配置文件也可以通过该命令生成:
通过|通过 hexo+serverless 快速搭建并部署一个自己的博客
文章图片

命令行输入serverless,然后选择website-starter - 快速部署一个静态网站,也可以生成配置文件信息,但是上面提到的入口src一定要改成./public
部署到腾讯云
# 先生成静态页面到 public 目录 hexo g# 部署到腾讯云 serverless deploy

serverless deploy命令需要授权,如果腾讯云绑定了微信,直接用微信扫码就可以了。更多详情配置和用法可以参考腾讯云官方文档。
自定义域名 首先需要自己拥有一个域名,没有可以自己去注册,用哪一家的产品就建议去哪一家注册域名,后续备案、解析、部署这些都会方便很多。
Github Page 服务
如果你是选择的是Github静态页面托管,那么就不需要进行备案了。
  • 首先在项目中开启相关的配置,设置好域名地址
通过|通过 hexo+serverless 快速搭建并部署一个自己的博客
文章图片

  • 然后再去域名服务商那里将域名解析到github的提供的域名地址,注意记录类型要选择CNAME
腾讯云服务
如果是腾讯云部署,自定义域名就会麻烦一些,首选域名必须要先进行备案。备案的话建议使用腾讯云提供的域名备案流程来一步一步进行,有什么问题腾讯云客服都会给予指导,备案相对会简单很多。
假如你已经有了一个备案的域名,首先打开腾讯云的对象储存服务,然后选择博客项目中配置的bucketName关联的存储桶进行自定义域名的配置。
通过|通过 hexo+serverless 快速搭建并部署一个自己的博客
文章图片

SSL证书
现在腾讯云官方有提供免费的SSL证书服务,不过有效期只有1年,到期之后再重新申请就行了。申请完证书之后,再回到腾讯云对应的bucket自定义域名那里,配置就行了。
如果用腾讯云绑定了自定义的域名,必须在博客站点的底部添加备案号等信息,否则有可能会被注销备案,这是所有国内网站强制性的要求。在此也提醒大家,在网络上传播和发布任何东西,一定要遵纪守法。
搞定收工 到这里,一个完整的个人博客站点就算全部完成了。后续还可以根据官方的文档进行很多自定义的配置,比如:添加百度、谷歌统计,博客评论等很多个性化配置。
最后,感谢阅读!如果觉得不错,可以关注我的公众号【末日码农】,获取更多技术知识。
通过|通过 hexo+serverless 快速搭建并部署一个自己的博客
文章图片

    推荐阅读