第一次搭建Hexo博客过程 in MacOS
第一次在自己服务器搭建博客,总会有那么一点点失误,碰到一点坑,在这里总结一下搭建hexo的具体步骤。
参考:
Hexo架构
首先我们要理解hexo是如何生成静态博客以及如何实现通过服务器访问静态博客的
通过上图我们可以知道,整个流程就是在本地通过 hexo g 渲染博客的静态文件,然后通过 hexo d 把静态文件 push到服务器上我们自己创建的git仓库,服务器再通过 git-hooks 同步网站根目录,这样就可以访问了
配置本地环境
安装依赖
Hexo 依赖于 Node.js 和 Git,需要先安装。
安装Git
安装Node.js
Node的话建议用nvm管理,否则很容易出现 command not found: hexo 的情况,出现这种情况主要是node的版本问题 可以通过nvm来控制一下node的版本来解决
使用Homebrew安裝nvm
|
|
重启终端后用 nvm help 来验证nvm是否正确安装
使用nvm安裝Node.js
安裝完了nvm,接著安裝主角 Node.js。先用 nvm ls-remote 指令看一下有哪些版本可以安裝:
|
|
然后直接用一下命令安装最新稳定版node
|
|
使用nvm无痛切换Node.js版本
检查当前使用的 Node.js 版本使用命令 nvm ls。如果输出结果如下表示正确:
|
|
第一个 -> 表示当前使用的版本,default -> 表示默认版本,必须保证这两个,不然后面安装hexo会提示 -bash: hexo: command not found ,不能在命令行使用。
设置的方法是,先通过 nvm ls 看看本地安装了什么版本,如果本地没有,则应该使用上一步的方法先安装,然后执行这个命令指定版本:
|
|
再通过这个命令指定默认版本:
|
|
部署Hexo
安装Hexo
所有必备的依赖都安装完成后,即可使用 npm 安装 Hexo:
|
|
-g 或 –global 表示全局安装模块,如果没有这个参数,会安装在当前目录的node_modules子目录下。 安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
|
|
npm install 表示安装当前目录package.json文件中配置的dependencies模块。
更新 Hexo
官方发布了新版本后,可以在Hexo建立的博客目录内运行:
|
|
用如下命令可以检查package.json文件中配置的dependencies的版本号:
|
|
安装 Hexo 插件
|
|
下面是一些可选插件的安装
|
|
配置服务器环境
部署 Nginx
安装 Nginx && 启动 Nginx
我服务器的Nginx是用Docker部署的,早已经部署好。这步暂时跳过,日后补充…(又偷懒了(逃~
配置虚拟主机 && 创建新的网站目录 && 创建虚拟主机配置文件
同上(逃~
部署 Hexo 到服务器
Hexo 可以使用 git 方式部署。
(网站的目录在下面统一用 <your-website> 代替,如你的目录在 /var/www/html ,那就用 /var/www/html 替换 <your-website> )
创建空白 git 仓库,并且设置 git hook
|
|
新建 post-receive 脚本
|
|
编辑 ~/blog_hexo.git/hooks/post-receive 脚本
|
|
赋予脚本执行权限
|
|
注意:
-
这里要先确保 <your-website> 目录下没有任何文件。备份好文件后执行一下命令:
1sudo rm -rf <your-website>/* -
执行
ls -l <your-website>命令检查该目录及其子目录(文件)所有者和用户组是否为你当前使用的用户。 若显示:1drwxr-xr-x 2 root root 4096 Jun 4 07:00 <your-website>则说明你的网站目录的所有者以及用户组都是root,那么当你用git-hooks把tmp目录的静态博客拷贝到
<your-website>时,会由于没有权限而导致拷贝失败,所以我们需要把的所有者和用户组都改为你当前使用的用户。执行以下命令即可: 1sudo chown $USER:$USER -R <your-website>
配置本机
在博客目录下运行下面命令,安装 git 部署插件。
|
|
修改博客的配置文件 _config.yml,修改deploy选项:
|
|
然后运行 hexo clean && hexo g && hexo d 即可部署本地渲染网页到服务器上,之后只需要访问额你的域名就可以访问你的hexo博客啦!如我的博客是 reb.mallotec.com
**注:**请把127.0.0.1替换成自己服务器的ip
附:Hexo 个性化–>NexT主题
文档
NexT 主题提供了详细的 使用文档 。
下载主题
主题的安装很简单,执行以下命令即可:
|
|
或
|
|
启用 NexT 主题
克隆/下载 完成后,打开 站点配置文件,找到theme字段,并将其值更改为next。
这里注意区分两个配置文件: 站点配置文件:是你的 hexo 博客目录下面的 _config.yml 文件。 主题配置文件:是 themes/next 目录下的 _config.yml 文件。
验证主题是否启用(这步我没执行过= =)
运行hexo s --debug,并访问http://localhost:4000,确保站点正确运行。
重新渲染博客
启用主题后最好重新渲染一遍博客,命令:
|
|