完整记录使用Hexo搭建个人博客系统并且使用pure主题以及在linux服务器上实现域名访问的步骤

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

安装Hexo环境

More info:Hexo

安装node.js和npm环境

1
2
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

1
npm install -g hexo-cli

初始化博客网站

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

添加pure主题

More info:hexo-theme-pure

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

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

1
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命令

1
2
sudo su
vim __config.yml

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

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

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

1
hexo s -p <port>

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

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

修改模板文件

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

1
2
cd scaffolds
vim page.md

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

1
2
type: {{ title }}
layout: {{ title }}

执行创建失效的链接页面

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

1
hexo new page <linkname>

example:解决tags链接

1
hexo new page tags

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

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

参数配置

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

注意,一定要注意的操作

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

1
2
3
4
5
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

1
sudo apt-get install nginx

修改nginx的配置参数

进入到/etc/nginx目录下

1
vim nginx.conf

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

1
2
3
4
5
6
7
server {
listen 80;
server_name <example.com>;
location / {
proxy_pass http://localhost:<port>;
}
}

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

重新启动nginx

1
nginx -s reload

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

执行nohup

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

1
nohup  hexo s -p <port> &