1. 安装与使用 Hexo
hexo 官方网站:链接
1.1 安装
全局安装 hexo-cli ,用以创建 hexo 项目:
npm install hexo-cli -g
安装完成后,就可以在终端使用 hexo
指令了,可以使用以下指令创建一个 hexo 项目:
hexo init hexo-blog
cd hexo-blog
yarn install
完成后项目目录如下:
.
├── _config.yml # 网站的基础配置,文档:https://hexo.io/zh-cn/docs/configuration
├── package.json
├── scaffolds # 文章模板
├── source
| ├── _drafts
| └── _posts # 你的 markdown 文章就需要存放在此目录下
└── themes # 存放主题源码
1.2 安装第三方主题
npm 安装
Hexo 5.0.0 版本以上,可以使用 npm 安装主题,简单易用、方便升级,但缺点是无法修改源码。
以 hexo-theme-fluid 主题为例,使用 npm 安装只需要执行:
yarn add hexo-theme-fluid
# 或者
npm install --save hexo-theme-fluid
然后在博客目录下创建 _config.fluid.yml
,将主题的 \_config.yml 内容复制进去。
源码安装
源码安装是老版本 Hexo 安装主题的方式,如果你项修改主题的源码也可以很方便的直接修改。
仍然以 hexo-theme-fluid 主题为例,在项目的 Releases 页面中下载源码文件:
下载解压后,在 themes
目录下创建一个 fluid
目录,将源码复制到该目录下,如下:
应用主题
当你安装成功后,需要在 _config.yml
中将使用的主题设置为你下载好的主题,找到 theme
配置项,将其修改为:
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: fluid
配置第三方主题
如果你是以 npm 方式安装主题,你需要修改你刚才在博客目录下创建 _config.fluid.yml
文件修改相关配置;
如果你是以源码方式安装的主题,就不需要创建 _config.fluid.yml
文件了,只需要修改 /themes/fluid/_config.yml
文件中的配置就可以了。
注意:每个主题的配置文件名称都不一样,主题的配置项也不一样,具体需要自行查看你安装主题的说明文档
2. 部署 Hexo 到服务器
如果你不想了解如何部署网站到服务器上,或者没有属于自己的服务器,你可以跳过这一章节,直接阅读第三节。
2.1 获取编译好的 hexo 静态文件
可以使用 hexo-cli 的 generate 指令来生成静态博客,hexo-cli 已经将这一指令写入到 package.json
,因此你可以使用 npm/yarn
指令来调用构建指令:
yarn build
# 或者
npm run build
博客目录下会生成一个 public
目录,这就是 Hexo 编译好的静态博客,接下来我们只需要将生成的静态文件部署到服务器上即可。
2.2 Nginx
服务器选择使用 Nginx 进行部署(of course,你也可以使用 Caddy)。
安装 Nginx
首先在服务器上安装 nginx,以 Ubuntu 为例:
sudo apt install nginx
systemctl enable nginx # 将 nginx 设置为开机启动项
systemctl start nginx # 开启 nginx
systemctl status nginx # 查看 nginx 状态
官方完整安装文档:(链接)[https://www.nginx.com/resourc...]
查看/修改 Nginx 配置
你可以使用 vim 指令查看 nginx 配置:
vim /etc/nginx/nginx.conf
2.3 部署博客
上传静态资源
使用任意的 sftp 工具,mac 推荐使用 FileZilla,连接到服务器后,进入服务器的 /var/www/html
目录下,清空目录下原有的文件,然后将刚才编译好的 hexo 博客的静态文件上传至该目录下即可。
之后我们可以直接访问服务 ip 的 80 端口(即默认 http 的默认端口),就可以看到我们的网站了。
但是一般正规的网站是不会直接用 ip 访问的,因此我们需要为自己的网站绑定一个域名。
为网站绑定域名
进入你的域名解析控制台,以腾讯云的 DNSPod 为示例,点击添加记录,记录类型选择为 A
类型:
记录值填入你的服务器 ip,即完成了域名与服务器的绑定。
其中的『主机记录』意为二级域名的名称,假如你的域名为 domain.xyz
:
- 当你写为
@
时,用户访问domain.xyz
会解析为你的主机 ip - 当你写为
*
时,用户访问hi.domain.xyz
与oh.domain.xyz
等任意二级域名都会解析为你的主机 ip(一般不会这么干) - 当你写为
www
时,用户访问www.domain.xyz
会解析到你的主机 ip