辛辛苦苦搭好的博客,纪念一下搭建过程吧。希望他人搭建的时候更加轻松
(假定读者能基本使用Linux)
总共分3部分:
第一部分,最早搭建在Azure上,Git+Nginx+Hexo 。
第二部分,将站点迁移到Github Page上的过程。
第三部分,Reference(Hexo基本操作)
第一部分
主要参考的是 在VPS上搭建hexo博客,利用Git更新,事实又一次证明了教程是多么重要:一个教程或是方法遗漏了那么一点点关键步骤,就好比一个软件工程少了那么几行代码。。。
VPS操作(CentOS 6.5)
Nginx:
安装:
|
|
配置:(不推荐新手按照参考去改动/conf.d/hexo.conf)
|
|
要改的主要在 server{}中。 其中, listen是监听端口,即访问网站使用的端口,默认80。 root 是网站文件的根目录。server_name 填ip或者域名即可。
设置防火墙
|
|
之后记得再去VPS的管理页面开启防火墙策略组,开放80端口。正常的话外网就能访问你的博客了。如果不行,先建议换个端口比如1011(配置文件、iptables、策略组都要改),以免像我一样浪费时间在检查自己配置上。Azure的VPS确实过滤了80端口,没法用。
Git:
安装Git
|
|
新建git用户添加sudo权限
|
|
在vi编辑中找到如下内容:
|
|
在下面添加一行
|
|
保存并退出后执行
|
|
创建网站目录并赋予git对网站目录的所有权:
|
|
配置git hooks:
|
|
输入如下内容后保存退出
|
|
(注意上面#和之后的注释不要写入到文件中,否则出错!)
然后赋予脚本的执行权限
|
|
Git 仓库:
|
|
接下来有2种办法。
- 已经有keys的可以直接复制进去。我就是把github的key复制到这里来。好处是一个key两边都能用,操作起来方便
- 如果没有的话按下面本机操作部分全部执行。
本机操作(Windows)
安装Node.js
在Node.js官网下载最新版,一路默认安装。
安装Git
下载Git for windows一路默认安装。
Git这里我们需要注意一下,需要配置一下环境变量。
然后我们需要生成SSH密钥,按下面的步骤进行。
1.打开C:\Users\<用户名>\.ssh文件夹,如果没有就新建
2.在空白处单击右键,选择Git Bash Here打开终端
3.设置git用户名
|
|
4.生成ssh密钥
|
|
如果成功的话,会多出几个文件。用TXT打开其中的id_rsa.pub,复制里面的内容到VPS的 authorized_keys中。
测试连接
打开Git Bash, 输入ssh git@VPS的ip 能够远程登录的话,就说明设置正确,可以进行下一步。否则最好找出并解决错误。
安装Hexo
创建网站目录
在你电脑的任意位置创建一个文件夹(例如E:\hexo,下文以此代替),作为网站目录。
安装Hexo
打开cmd,通过cd命令进入hexo文件夹,输入node后执行如下命令 ~
|
|
打开http://localhost:4000 即可看到你的站点(当然还没有发布到服务器上)。
配置hexo配置文件
位于hexo文件夹下,_config.yml,修改
|
|
特别注意,每个“:”后面都要有空格!
接着在hexo文件夹内,按住shift右击,选择在此处打开命令窗口(当然你也可以用cd命令),运行hexo g hexo d,如果一切正常,静态文件已经被成功的push到了blog的仓库里,如果出现appears not to be a git repo的错误,删除hexo目录下的.deploy后再次hexo g hexo d就可以了。
以上,博客已经完全建好了。如果顺利的话,1个小时应该是足够了。
遇到的坑
- Nginx设置按照原教程,在
conf.d/hexo.conf中设置,导致后面的问题出现时更加难以排查 - VPS服务商过滤了80端口。导致我一直认为是自己配置不对,反复修改
nginx.conf 和conf.d/hexo.conf - 修改
_config.yml时,忘记加空格。
第二部分
把第一部分搭好的博客迁移到Github Page上(不要问我为什么不一开始就在Github Page上搭。。谁能预见未来的需求呢……)
假定读者已经有了Github账号。如果没有就去注册一个。
创建仓库
以我为例,Github用户名是 Vast-Stars,则创建的仓库名为:Vast-Stars.github.io
设置SSH秘钥
点击右上角头像,进入`setting→ SSH and GPG keys
- 打开本地C:\Documents and Settings\Administrator.ssh\id_rsa.pub文件。准确的复制这个文件的内容,才能保证设置的成功。
- add another public keys
- 把刚刚用TXT打开的的密钥复制到里面(key文本框中), 点击 add key 就ok了
同样可以在 git bash 中ssh git@github.com来验证SSH是否成功。
(由于我第一部分中使用的key就是从github这生成的,所以自然保证了两边ssh都正常。)
修改_config.yml文件
|
|
当然如果已经绑定了域名也可以不用修改
第三部分
本来是想自己写点的,不过既然别人就写了,我就附上链接吧。
有些重要的东西还是自己写下吧。。不定时更新
_config.yml中,设置language: zh-CN
Reference:
如何搭建一个独立博客——简明Github Pages与Hexo教程
Next主题的安装 很简洁很漂亮的主题!
Hexo常见问题解决方案 很全很好
我的博客是如何搭建的(github pages + HEXO + 域名绑定)
配置 官方文档 强力推荐!