Hexo+git博客搭建
Posted ver0n1ca
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hexo+git博客搭建相关的知识,希望对你有一定的参考价值。
前言
早就想换一换我之前使用的wordpress博客了,昨天偶然看到一个学长的博客感觉前端简洁大气,于是查了一下他所用的Hexo这个博客框架。从doc来看使用简单,md的编辑方式很高效,浏览了一下主题也有几个不错的,于是趁着考试周之前的日子赶紧把博客搭建起来了。
搭建的环境是Mac+Ubuntu14.04
本地安装搭建博客
本地安装hexo框架
-
先使用homebrew安装npm:
1
brew install npm
-
使用npm安装Hexo
1
npm install hexo-cli -g
-
安装Hexo-server
由于在hexo3中server被分离了出去所以要想在本地不通过apache等查看blog的话需要单独安装1
npm install hexo-server --save
搭建博客
-
新建Hexo博客
1
2
3
4mkdir myBlog
cd myBlog
hexo init
npm install -
打开server:
1
2
3
4hexo server
//结果如下:
INFO Start processing
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop -
生成静态文件:
1
hexo g
如果此时显示hexo的帮助文档说明server没有成功安装。
可以通过浏览器访问http://localhost:4000/
查看博客。如果显示Cannot Get / 检查是否有npm install
-
更换主题
我使用的主题为aircloud。从github上下载源码放入theme文件。将hexo的_config.yml中的theme部分改为1
theme: aircloud
再次generate之后查看浏览器,如果显示找不到index.html,一般是由于theme的名称没有写对。theme后面要写在theme文件夹下所选主题的文件名。
在public文件夹下新建img文件夹,放入头像avatar.jpg和favicon.ico的icon图片,否则主题会显示找不到。
如果使用此主题还有一些要修改的地方,直接参见其readme.md即可。 - 删除多余的tags
1
2hexo clean
hexo d -g
通过git部署至远程服务器
配置git
-
首先确认自己是否拥有ssh密钥
1
2cd ~/.ssh
ls我们需要寻找一对以
id_dsa
或id_rsa
命名的文件,其中一个带有.pub
扩展名。.pub
文件是你的公钥,另一个则是私钥。 如果找不到这样的文件(或者根本没有.ssh
目录),你可以通过运行ssh-keygen
程序来创建它们。在 Linux/Mac 系统中,ssh-keygen
随 SSH 软件包提供;在 Windows 上,该程序包含于 MSysGit 软件包中。 ——git官网 -
将公钥放入服务器
将公钥复制加入系统用户的.ssh
目录下authorized_keys
文件的末尾。如果没有此文件的话自己新建一下。 -
配置服务器
新建一个用于存放博客代码的文件夹。然后初始化git,新建master分支1
2git init
git checkout -b master注意不要新建bare仓库,不然会没有blog文件,只有git版本控制文件。
为了避免出现git拒绝push的情况,修改.git/config文件后面添加如下代码1
2[receive]
denyCurrentBranch = ignore -
修改本地hexo的config文件
加入deploy部分:1
2
3
4deploy:
type: git
repo: [email protected]:~/myBlog/
branch: master -
部署blog至服务器
1
hexo d
-
git hook
远程git仓库在deploy之后并不会立刻更新,只有执行git reset --hard
之后才可以,为了避免每次都手动执行这条语句,可以将它添加到myBlog/.git/hooks/post-update文件中。将原本的post-update.sample的.sample去掉即可使hook生效。
如果deploy之后出现remote: fatal: Not a git repository: ‘.‘
就进一步修改post-update为:1
2
3
4
5
6
7
8
9
配置apache2
-
安装apache2
由于我的服务器上之前就已经安装好apache2,且过程很简单,这里就不写这部分的教程了,可以参看其他blog。 -
修改apache2配置
Apache2的config文件在/etc/apache2/apache2.conf,修改如下内容
添加文件访问权限1
2
3
4
5<Directory /your/blog/directory>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>修改Document/Root修改为你的git仓库的路径。
如果服务器上配置了多个网站,可以通过添加virtualHost来配置路径。在此不详细说了。 -
更改文件权限
将git仓库的文件权限改为755,其上层文件也应改为7551
chmod -R 775 /filename
-
查看网页
在浏览器输入服务器的ip或者url。如果出现没有权限访问,要检查自己的文件权限和config文件是否修改正确。注意不要将directory /的deny from all 改为require all granted,非常不安全
这篇小教程到这里就结束啦,希望你可以搭建顺利~
以上是关于Hexo+git博客搭建的主要内容,如果未能解决你的问题,请参考以下文章