关于hexo

hexo是一种基于Node.js的静态博客框架,依赖少易安装,几分钟就可以搭建完成一个简单的博客。
并且框架的主创是台湾人,官方的帮助文档对中文有很好的支持。
可以访问hexo的官方网站了解更多。

服务器的选择

网站需要托管在一个大家都能访问到的地方,所以我们需要一台有公网ip的服务器。
国内的话可以使用阿里云腾讯云等各种云。
不过大多价格昂贵,网络下行小。
国外的一些vps服务商推荐linodevultr,
或者搬瓦工也是行的。
选择好了就注册然后租一个最低配置的吧,对于没什么访问量(反正我的博客是这样=.=)的博客来说,足够了!

系统镜像的话,推荐这个:

开始你的hexo

有了服务器,需要选择一款ssh软件远程登陆到你的服务端。我是用的XShell,你也可以使用其它的,
比如finalShell,putty等等。

  • 安装框架依赖
    apt install nodejs
  • 安装博客框架
    npm install hexo-cli -g
    如果在这一步出现错误,找不到npm命令,尝试这样安装:
apt-get update
apt-get install curl
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
然后使用 npm -v 查看下是否安装成功。
  • 初始化博客
    hexo init blog
  • 切换到你的博客文件夹
    cd blog
  • 编译文件
    npm install
  • 开启hexo服务
    hexo server

在浏览器访问你的公网ip,一个简单的博客就搭建完成了。
(默认端口号为4000,别忘了在ip后加:4000)

购买域名与解析

为了访问网站的时候,抛弃掉难记的数字ip,我们需要一个好记的域名来跟ip绑定。
推荐namecheap选购域名(因为我是用的这家=。=),
当然也可以选择其它的域名商。
如果是国内的域名商,域名是需要备案的,流程比较繁琐。

域名选购完成后,需要和你的服务器ip进行绑定,也就是域名解析。以namecheap为例:

删除URL Redirect Record整条记录,新增一条A Record,值为你的ip地址,如上图所示。
最后在你的hexo配置文件_config.yml中修改url项为你的域名:

更换博客主题

默认的landscape可能不符合大多的口味,没关系,轻松更换主题。
官方的主题站,或者google搜索hexo主题,找你喜欢的。
我是在一个知乎回答里找的主题,附上链接 https://www.zhihu.com/question/24422335
找到中意的主题后,拷贝到 blog/thems/文件夹中,在配置文件_config.xml修改:
theme: 你的主题名
然后重启下服务就可以看到了。

守护进程

当我们退出shell的时候,服务进程就会中断。这个时候需要一个程序来守护进程,
保护进程在服务器一直稳定的运行。我使用的是forever工具。

  • 安装forever
npm install forever -g
cd /path/yourblog
npm install forever-monitor
  • 在博客目录下编写一个app.js文件,让forever执行
    var spawn = require('child_process').spawn;
    free = spawn('hexo', ['server', '-p 4000']);
    free.stdout.on('data', function (data) {
    console.log('standard output:\n' + data);
    });
    free.stderr.on('data', function (data) {
    console.log('standard error output:\n' + data);
    });
    free.on('exit', function (code, signal) {
    console.log('child process eixt ,exit:' + code);
    });
    
  • 执行forever命令,让进程在后台一直运行
    forever start app.js

  • 若要停止进程
    正常情况下的forever stop pid不好使,时常杀不死进程。
    强制一点的办法
    lsof -i:4000 查看占用此端口的进程id
    kill -9 pid 杀掉进程

    添加评论功能

    为了与访客进行更多的互动,我们需要为文章的底部添加评论功能。
    一般博客的评论功能可以选择挂载第三方评论插件,我这里使用的是Disqus
    你也可以选择其它第三方的插件,如畅言,多说,友言(好像多说被停掉了)。

    • 打开Disqus网站,注册一个账号,注册完成后登陆,点击GET STARTED。

  • 然后选择第二项,填写一些需要的信息(主要就是一个唯一的url)。

  • 填写完成后,会得到一长串代码。将代码复制粘贴到你的主题文件夹下路径的这个文件里:
    layout/_partials/comments.js
    然后清理缓存,并重新生成一下静态文件。
    hexo clean & hexo g
    到这里文章的评论系统就可以使用了,重新访问你的网站看看吧!

文章中的图片

之前使用ghost博客时,图片是直接上传到自己的博客服务器上。
服务器到期后没有备份(并且图片文件命名也比较乱,就算备份也很难整理迁移)。
所以我们需要一个更好的解决方案来存储博客中的图片,也就是图床。

图床是一种图片存储服务器,同时允许外链到其他网站。
上传图片到它的服务器上,然后网站会返回给你图片的url地址。
https://i.loli.net/2018/05/07/5af0690d09362.png
图床的服务器有很多,搜索引擎一搜一大把。
它的缺点也很明显,大多图床是免费的,可能使用一段时间后,
网站就挂了,导致你的图片丢失。
所以找个靠谱的图床(付费图床0.0), 或者自建图床是件很重要的事。

暂时就写到这里,时不时想起来会再补充。应该会的...


From zero to hero