这篇文章记录了自己折腾VPS搭建Hexo的过程。之前的博客是由Jekyll搭建并托管在Github上的,而VPS只是用来科学上网。总想着把VPS的作用发挥起来,其中之一就是搭建网站。当初建博客时在Jekyll和Hexo之间犹豫过,因为Github Pages原生支持Jekyll网站生成,所以就选择了它。在决定把博客移到VPS上时,想过用Django等更复杂的语言从头编写,但对于我来说学习成本较高,没有这个必要。目前来看Hexo的效率似乎是比Jekyll更高,如果只是想简单建个写东西的地方,主题设置也更简单些。
基础配置
VPS
我选择的DigitalOcean,每月5美金的VPS,申请过程可以参照我之前的一篇博文,网上教程也很多。
如果不想用付费VPS,也可以选择Github Pages或者其他免费的代理服务。但我觉得很多时候还是付费的东西用着安心。
域名
这部分不是必须的,但作为VPS上博客的入口,有个像样的、个性化的域名还是很有必要的。不然每次都在浏览器输入IP地址。。。也不是不可以。
我是在Godaddy上注册的域名,再通过DNSpod设置绑定到VPS服务器上。可以参考
这篇中的进阶修改部分。
搭建过程
搭建过程分为两部分,一部分在本地电脑上配置,另一部分则在服务器端进行,大致需要完成的工作是在本机安装Hexo和Git ,并在 VPS 上安装 Nginx 服务器、配置 Git Hooks 以实现更新。
本地配置
安装Node.js
在 Node.js 官网下载最新版,一路默认安装。
安装 Git
下载Git for Windows ,一路默认安装。
创建网站目录
在任意位置创建一个文件夹,作为网站目录,并通过cmd中cd命令进入文件夹(或者在文件夹按shift+右键,在此打开命令窗口)。
本地安装 Hexo
国内通过npm安装速度较慢,可以先把安装源设置成taobao的镜像。
1 | npm config set registry http://registry.npm.taobao.org |
1 | npm install -g hexo-cli |
打开 http://localhost:4000 即可看到你的站点(当然还没有发布到网络)。
本地 Git 配置
同样在cmd中进入该文件夹,之后执行
1 | git init |
修改**_config.yml**
在hexo文件夹下有配置文件**_config.yml**,找到[deploy]并修改
1 | deploy: |
VPS
连接VPS ,Windows 用户可以使用cmd和ssh root@ip连接你的服务器,也可以使用 Putty(网上下载, 优点是可以使用右键粘贴)
1 | apt-get update && apt-get upgrade -y |
在其中输入如下内容(点击i进行编辑)并保存退出(先按Esc,再输 :wq),注意 IP 和 example 需替换
1 | server { |
之后执行
1 | ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com |
创建git用户
这一步可能不是必要的,因为vps主要是个人使用,有个root账户也够用。主要是要把本地电脑的ssh公钥添加到服务器上,以防止将来每次deploy都需要输入密码。
1 | sudo adduser git -ingroup sudo |
配置VPS端GIt
1 | cd ~ |
在其中输入如下内容并保存
1 | !/bin/bash -l |
最后执行
1 | chmod +x post-receive |
如果restart失败,可能需要转回root账户再试一次。
在本地博客目录下运行
1 | hexo deploy |
把本地的博客部署至服务器端。
至此,博客框架应该已经完成了,可以通过你的域名或者ip地址访问试试。