使用 Hexo 搭建博客

本贴最后更新于 2158 天前,其中的信息可能已经事过境迁

最近使用 Hexo 搭建了一个自己的博客,在搭建的过程中遇到了很多的坑,现在博客搭建完成了,非常感谢 Hexo 以及 pure 这么好的项目。我将自己在搭建的过程中遇到的问题进行了一个记录,以便后来的使用者够快速的上手。文章如有不足之处或者有相关的问题所在,欢迎大家评论留言,或者联系作者微信:wwb765912435,备注来自博客问题,谢谢!
More info:wenboblogs

安装 Hexo 环境

More info:Hexo

安装 node.js 和 npm 环境

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

这里提供的是快速安装 node.js 10 的方法,安装 node 同时会安装 npm,其它 node.js 版本的安装方法请自行查阅。

安装 Hexo

npm install -g hexo-cli

初始化博客网站

hexo init <folder>
cd <folder>
npm install

添加 pure 主题

More info:hexo-theme-pure

git 克隆样式文件至博客 theme 目录下

无需手动创建目录,直接在博客目录下执行该 git 命令即可

git clone https://github.com/cofess/hexo-theme-pure.git themes/pure

克隆样式到博客的 theme 目录下后,将会有两个__config.yml 文件,一个在博客站点目录下。一个在 theme/pure 目录下。这两个__config.yml 文件名字是一样的,一个是用来配置站点的相关参数,一个是用来配置 pure 样式的相关参数。

启用 pure 主题

修改博客站点目录下的__config.yml 文件,修改前需切换到 root 权限,即下面的 sudo su 命令

sudo su
vim __config.yml

找到 theme 字段,将其值更改为 pure

测试一下站点是否配置成功

直接运行 hexo s,默认端口为 4000,也可以指定端口

hexo s -p <port>

浏览器打开 linux 服务器外网 ip:port 访问,如果站点显示成功即部署完成

手动配置 pure 的导航栏的相关链接失效

修改模板文件

scaffolds 文件夹下存放的是模板文件

cd scaffolds
vim page.md

在 page.md 文件中添加以下两行

type: {{ title }}
layout: {{ title }}

执行创建失效的链接页面

哪个链接失效就执行哪个链接的名字

hexo new page <linkname>

example:解决 tags 链接

hexo new page tags

执行完毕后刷新页面看能否正常点击链接

关于博客项目的参数以及主题 pure 的相关参数的配置

参数配置

相关的参数配置在 Hexo 的文档以及 hexo-theme-pure 的文档中都有详细的介绍,详情请参阅
Hexo
hexo-theme-pure

注意,一定要注意的操作

在阅读 hexo-theme-pure 文档的时候有一个安装插件步骤,执行该步骤下的安装插件的命令时,一定要在博客项目根路径下,一定要在博客项目根路径下,一定要在博客项目根路径下!!!
即在项目根目录下执行以下命令:

npm install hexo-wordcount --save
npm install hexo-generator-json-content --save
npm install hexo-generator-feed --save
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save

域名访问默认是 80 端口,如何绑定到指定端口呢?使用 nginx 的端口转发

安装 nginx

sudo apt-get install nginx

修改 nginx 的配置参数

进入到/etc/nginx 目录下

vim nginx.conf

如果是第一次安装 nginx,在 http{....}代码块中删除最后一个 include 的一行,然后在此处添加以下代码

server {
        listen       80;
        server_name  <example.com>;
        location / {
            proxy_pass        http://localhost:<port>;
                }
        }

example.com 改为你的域名,注意不要带 www,port 是你在执行 hexo server -p port 启动博客程序时候指定的 port

重新启动 nginx

 nginx -s reload

通过 ssh 连接服务器,连接窗口关闭后,博客服务停止的处理

执行 nohup

在启动博客程序的时候使用以下语句即可

  nohup  hexo s -p <port> &
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 1 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...