数据API 案例 开发者 关于
掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务
新闻动态 > 媒体报道

在 VPS 上搭建 Hexo 博客,使用 Git 部署

写在前面

因为 hexo 的搭建和使用与其他博客程序不同,而且搜索到的很多结果都是在 Github 上搭建 hexo 的教程。

于是就有很多朋友问我 VPS 也可以搭建 hexo 吗?
刚好前几天在迁移博客的时候也查了一些资料,现在再整理一遍。

方案

Hexo 本地生成静态文件,再部署到 VPS 上,用 Nginx 做 Web 服务器。

准备

  • VPS
  • Macintosh / Hackintosh OS

本地环境

Node.js

  1. $ brew install node

创建 Hexo 目录

  1. $ mkdir "your hexo dir name"
  2. $ cd "your hexo dir name"

安装 Hexo

  1. $ npm install -g hexo-cli

如果上面这行安装命令报错了,可以试试看下面这行

  1. $ sudo npm install -g hexo-cli --unsafe

安装完成之后

  1. $ hexo init
  2. $ npm install
  3. $ hexo d -fg
  4. $ hexo serve

打开 http://localhost:4000 如果看到 hexo 的初始页面证明安装成功。

生成 SSH 公钥密钥

  1. $ cd ~/.ssh
  2. $ ssh-keygen

它先要求你确认保存公钥的位置(.ssh/id_rsa),然后它会让你重复一个密码两次,如果不想在使用公钥的时候输入密码,可以留空。

GitHub Help - Generating a new SSH key and adding it to the ssh-agent

服务器环境 (以 Ubuntu 为例)

安装 Git & Node.js

  1. $ apt-get install git
  2. $ curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
  3. $ apt-get install -y nodejs

创建 git 用户 & 禁用 git 用户的 shell 登录权限

  1. $ adduser git
  2. $ vim /etc/passwd

  1. git:x:1001:1001:,,,:/home/git:/bin/bash

改为

  1. git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

添加证书登录

前面已经生成了公钥,现在把 .pub 公钥里的内容添加到服务器的 /home/git/.ssh/authorized_keys 文件中

初始化 Git 仓库

目录可自己选择,此处用 your-git-dir 代替目录

  1. $ mkdir your-git-dir
  2. $ cd your-git-dir
  3. $ git init --bare hexo.git

使用 --bare 参数,Git 就会创建一个裸仓库,裸仓库没有工作区,我们不会在裸仓库上进行操作,它只为共享而存在。

配置 git hooks

在 hexo.git/hooks 目录下新建一个 post-receive 文件:

  1. $ cd /your-git-dir/hexo.git/hooks
  2. $ vim post-receive

在 post-receive 文件中写入如下内容:

  1. #!/bin/sh
  2. git --work-tree=/www/hexo --git-dir=/your-git-dir/hexo.git checkout -f

其中 /www/hexo 为部署目录,/your-git-dir/hexo.git 为该 git 仓库。

设置这个文件的可执行权限:

  1. $ chmod +x post-receive

Git 钩子

设置拥有者

  1. $ chown -R git:git hexo.git
  2. $ chown -R git:git /www/hexo

本地配置

现在配置 hexo 的 deploy。

修改 hexo 目录下的 _config.yml 找到 deploy, 修改为:

repo 的地址为你自己的地址以及 git 仓库目录

  1. deploy:
  2. type: git
  3. repo: git@www.example.com:/your-git-dir//hexo.git
  4. branch: master

开始使用

新建文章:

  1. $ hexo new "post name"

生成 & 部署:

  1. $ hexo clean && hexo g && hexo d

参考

原文来自:Viosey's Blog

掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务
新闻动态 > 媒体报道
在 VPS 上搭建 Hexo 博客,使用 Git 部署
发布:2017-12-20

写在前面

因为 hexo 的搭建和使用与其他博客程序不同,而且搜索到的很多结果都是在 Github 上搭建 hexo 的教程。

于是就有很多朋友问我 VPS 也可以搭建 hexo 吗?
刚好前几天在迁移博客的时候也查了一些资料,现在再整理一遍。

方案

Hexo 本地生成静态文件,再部署到 VPS 上,用 Nginx 做 Web 服务器。

准备

  • VPS
  • Macintosh / Hackintosh OS

本地环境

Node.js

  1. $ brew install node

创建 Hexo 目录

  1. $ mkdir "your hexo dir name"
  2. $ cd "your hexo dir name"

安装 Hexo

  1. $ npm install -g hexo-cli

如果上面这行安装命令报错了,可以试试看下面这行

  1. $ sudo npm install -g hexo-cli --unsafe

安装完成之后

  1. $ hexo init
  2. $ npm install
  3. $ hexo d -fg
  4. $ hexo serve

打开 http://localhost:4000 如果看到 hexo 的初始页面证明安装成功。

生成 SSH 公钥密钥

  1. $ cd ~/.ssh
  2. $ ssh-keygen

它先要求你确认保存公钥的位置(.ssh/id_rsa),然后它会让你重复一个密码两次,如果不想在使用公钥的时候输入密码,可以留空。

GitHub Help - Generating a new SSH key and adding it to the ssh-agent

服务器环境 (以 Ubuntu 为例)

安装 Git & Node.js

  1. $ apt-get install git
  2. $ curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
  3. $ apt-get install -y nodejs

创建 git 用户 & 禁用 git 用户的 shell 登录权限

  1. $ adduser git
  2. $ vim /etc/passwd

  1. git:x:1001:1001:,,,:/home/git:/bin/bash

改为

  1. git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

添加证书登录

前面已经生成了公钥,现在把 .pub 公钥里的内容添加到服务器的 /home/git/.ssh/authorized_keys 文件中

初始化 Git 仓库

目录可自己选择,此处用 your-git-dir 代替目录

  1. $ mkdir your-git-dir
  2. $ cd your-git-dir
  3. $ git init --bare hexo.git

使用 --bare 参数,Git 就会创建一个裸仓库,裸仓库没有工作区,我们不会在裸仓库上进行操作,它只为共享而存在。

配置 git hooks

在 hexo.git/hooks 目录下新建一个 post-receive 文件:

  1. $ cd /your-git-dir/hexo.git/hooks
  2. $ vim post-receive

在 post-receive 文件中写入如下内容:

  1. #!/bin/sh
  2. git --work-tree=/www/hexo --git-dir=/your-git-dir/hexo.git checkout -f

其中 /www/hexo 为部署目录,/your-git-dir/hexo.git 为该 git 仓库。

设置这个文件的可执行权限:

  1. $ chmod +x post-receive

Git 钩子

设置拥有者

  1. $ chown -R git:git hexo.git
  2. $ chown -R git:git /www/hexo

本地配置

现在配置 hexo 的 deploy。

修改 hexo 目录下的 _config.yml 找到 deploy, 修改为:

repo 的地址为你自己的地址以及 git 仓库目录

  1. deploy:
  2. type: git
  3. repo: git@www.example.com:/your-git-dir//hexo.git
  4. branch: master

开始使用

新建文章:

  1. $ hexo new "post name"

生成 & 部署:

  1. $ hexo clean && hexo g && hexo d

参考

原文来自:Viosey's Blog

×
企业用户认证,
可获得1000次免费调用
注册登录 > 企业账户认证 > 领取接口包
企业用户认证领取接口包 立即领取
× 企业用户认证,
可获得1000次免费调用,立即领取>
数 据 驱 动 未 来
Data Drives The Future