hexo博客搭建

前几天心血来潮,决定搭建一个博客来做做笔记,对比了一些博客框架,最终选择了hexo

优点

  1. 生成的是静态网页,对服务器性能要求低,可以部署到例如Github Pages等代码托管平台上,只需要花每个月十几块买一个能运行的服务器甚至不需要买服务器都可以正常的使用hexo,对于想建站却又不想花高额代价买服务器的学生来说很友好。
  2. seo优化好,对于蜘蛛来说,静态网站加载速度快,可在单位时间内抓取更多的内容。
  3. 不易被攻击,静态网页没有后台,黑客几乎无从下手,能让站长更专注于内容,而不是黑客攻防。
  4. 内容方便迁移,内容完全是md文档,可以随时备份到自己电脑上,安全性高。
  5. 好看的主题多,选择较多。(虽然没wordpress多)
  6. 基于nodejs,插件相较其他静态生成框架来说较多,实现功能较为容易。

缺点

  1. 静态博客不方便后期维护。

  2. 没有集成的评论系统,只能通过第三方插件实现评论,我个人使用的是isso

  3. 没有浏览统计,也是通过第三方插件完成。

  4. Github Pages国内速度不太行,但可用vercel来代替,国内速度不错。

如果你决定使用hexo作为你的博客框架,你可以继续往下看教程。

搭建教程

安装nodejs

  1. 在服务器中安装nodejs环境。我使用的环境是centos7

    官网下载 nodejs

    wget https://nodejs.org/dist/v16.15.1/node-v16.15.1-linux-x64.tar.xz

  2. 解压

    xz -d node-v16.15.1-linux-x64.tar.xz

    tar -zxvf node-v16.15.1-linux-x64.tar

  3. 进入文件夹cd node-v16.15.1-linux-x64

    可以看到bin文件夹

  4. 直接加入环境变量nano /etc/profile

    在最后一行加入

    1
    2
    PATH="$PATH:/root/node-v16.15.1-linux-x64/bin"
    export PATH
  5. 刷新一下source /etc/profile

  6. 执行一下node -v

    输出了node版本即为配置完成

安装nginx

  1. 安装基础包
    yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel

  2. 下载nginx包
    wget http://nginx.org/download/nginx-1.23.0.tar.gz

  3. 解压
    tar -zxvf nginx-1.23.0.tar.gz

  4. 切换到cd nginx-1.23.0

    1
    2
    3
    ./configure
    make
    make install
  5. 安装完成后就可以到/usr/local/nginx的安装目录

  6. 进入到conf目录可以看到nginx.conf里面为nginx基本配置

  7. html文件夹下就是访问路径了

  8. 进到sbin文件夹内利用./nginx可以启动nginx服务器

Welcome to nginx

访问http://ip/看到这个就说明配置完成

安装hexo-cli

  1. 进入html文件夹内删除默认文件rm -rf *

  2. 执行npm install hexo-cli -g

  3. 初始化hexo目录hexo init FILENAME,FILENAME为任意名称

  4. 进入FILENAME

  5. 这时候的_config.yml可以根据hexo官网配置进行修改

安装next主题

在FILENAME文件夹下

1
git clone https://github.com/next-theme/hexo-theme-next themes/next

再将hexo配置文件中theme改为theme: next

同样在next主题目录下也有一个_config.yml,具体配置见hexo-theme-next

修改conf里的nginx.conf,搜索root,root html修改为root html/hexo/public

到sbin文件夹里执行./nginx -s reload重载配置。

hexo命令

命令效果
hexo new <title>新建一篇以title为名的文章。
hexo generate / hexo g生成静态文件。此时会产生一个public文件夹。
hexo server启动hexo服务器,默认端口4000。
hexo deploy / hexo d部署网站。

这些是基础命令,更多可以看hexo命令

访问测试

到FILENAME目录执行hexo g看到public文件夹创建后,访问http://ip/可以看到

Hexo Hello World

则已经部署好。