0%

Hexo+Nginx 个人博客部署指南-避坑

使用Hexo搭建个人博客

WordPress 还是 Hexo

WordPress

WordPress ( WP ) 是一个免费的开源 内容管理系统(CMS),用PHP编写并与MySQL或MariaDB 数据库配对。功能包括插件架构和模板系统,在 WordPress 中称为主题。WordPress 最初是作为博客发布系统创建的,但已经发展为支持其他 Web 内容类型,包括更传统的邮件列表和论坛、媒体库、会员网站、学习管理系统(LMS) 和在线商店。作为最流行的内容管理系统解决方案之一,截至 2021 年 10 月,WordPress 被 1000 万个网站中的 42.8% 使用。

WordPress是一个非常经典的建站系统,他的功能十分强大,有很多优秀的插件可以实现任何你想得到的功能。在上面搭建博客,支持在网页直接使用Markdown编辑器写博客。也可以很快搭建起一个个人博客。

Hexo

快速、简洁且高效的博客框架

Hexo是一个比较年轻的个人博客搭建框架,在Github上有不少的开源主题。作为个人博客使用,需要在本地上传博客文件,支持Github Pages,可以实现零成本建站。


两者相比之下,WordPress适合搭建功能较丰富的应用型网站,而Hexo更适合搭建个人博客。当然WordPress的可玩性肯定是比Hexo要高的,但是Hexo的部署方式更为简便、维护也更加精简。个人认为WordPress比较适合需要一劳永逸部署好就不动它的用户,而Hexo更适合爱折腾的用户。我两者都有用,用WordPress在云服务器上搭了一个网站以方便工作生活日常的文件收集,而个人博客则是使用Hexo在本地编辑好后更新到云服务器上的。Hexo有个写个人博客非常方便的优点,他可以直接在本地编辑,这意味着文章中要用到的图片、视频等文件都可以直接放在本地,更新博客时就不需要刻意去上传多媒体文件。

搭建 Hexo 个人博客

摘自 Hexo 官方文档

本地部署

安装 Node.js

  • Windows:从 Node.js 官网上下载安装程序并运行

  • Linux:从 nodesource 获取并安装

    1
    2
    3
    4
    5
    6
    7
    # Using Ubuntu
    curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
    sudo apt-get install -y nodejs

    # Using Debian, as root
    curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
    apt-get install -y nodejs

    安装 Git

  • Windows:下载 git 并安装

  • Linux:sudo apt-get install git

安装 Hexo

所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo

1
npm install -g hexo-cli

建站

安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。

1
2
3
hexo init <folder>
cd <folder>
npm install

新建完成后,指定文件夹的目录如下:

1
2
3
4
5
6
7
8
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

_config.yml
网站的 配置 信息,您可以在此配置大部分的参数。
package.json
应用程序的信息。EJS, Stylus 和 Markdown renderer 已默认安装,您可以自由移除。
scaffolds
模版 文件夹。当您新建文章时,Hexo 会根据 scaffold 来建立文件。
source
资源文件夹是存放用户资源的地方。除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。
themes
主题 文件夹。Hexo 会根据主题来生成静态页面。

部署网站服务器

在这里我尝试过两种选择

  • Github Page
  • Nginx

Github Page 是每个 GitHub 账户都能申请一个的免费的网站,通常它的域名是 UserName.github.io ,其中 UserName 是 GitHub 账号的用户名。
Nginx 部署到自己的网站服务器上

主题

  • Next
  • Matery

欢迎关注我的其它发布渠道