第一步 本地安装hexo并初始化项目
安装hexo非常简单,但是安装之前需要确保已经安装了git和node.js
1.安装git
1.Windows用户可以直接下载安装文件安装
2.Mac用户可以下载安装文件,或者使用homebrew安装
brew install git
3.Linux用户使用命令(Ubuntu, Debian)
sudo apt-get install git-core
或命令(Fedora, Red Hat, CentOS)
sudo yum install git-core
2.安装node
安装node使用nvm
wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
安装之后需要重启终端
然后安装node
nvm install stable
不过由于某种众所周知的原因,安装过程可能非常缓慢,可以考虑科学上网,另外也可以下载安装文件进行安装,或源码文件进行编译安装,node中文网 这里下载似乎比较快。
另外,Windows用户直接下载安装文件安装最快捷,安装时记得勾选Add to Path
3.安装hexo并初始化项目
先检查一下git和node是否安装好了
git --version
node --version
如果正常显示git和node的版本则可以继续下面的操作了,否则请先进行第一步的操作
好的,继续
npm install -g hexo-cli
安装成功后切换到你想要创建博客的目录,然后执行
hexo init <folder>
cd <folder>
npm install
其中folder为博客目录名称,换成你想要的名称即可
至此,第一步已经完成。
第二步 配置服务器
1.配置Nginx
ssh连接你的服务器,参考这里
笔者使用的是腾讯云的cvm,这里便以此为例(这里使用root用户),参考只看第一点即可
安装Nginx
yum install -y nginx
启动Nginx服务
service nginx start
测试Nginx服务器
wget http://127.0.0.1
能正常获取inde.html文件说明Nginx安装成功
2.建立git仓库
安装git,参考第一步
新建git用户
adduser git
建立裸仓,参考
cd /home/git
git init --bare hexo.git
chown -R git:git hexo.git
将本地机器上的ssh公钥填入/home/git/.ssh/authorized_keys文件(若还未创建公钥,参考这里)
在本机
cat ~/.ssh/id_rsa.pub
复制公钥
在服务器
nano /home/git/.ssh/authorized_keys
粘贴公钥,Ctrl+x保存,输入y,然后回车即可
配置Nginx
查找Nginx配置文件
nginx -t
笔者的配置文件位于/etc/nginx/nginx.conf,参照这里在server一项中添加
listen 80;
root /home/git;
server_name localhost;
location / {
index index.html index.htm;
}
注意,笔者是将git用户目录作为Nginx服务器根目录,这里随读者喜好,但是要注意文件权限问题。
保存后重启Nginx服务器
service nginx restart
第三步实现自动部署
在第二步建立的裸仓中(即hexo.git文件夹中),找到hooks目录下的post-update.sample,重命名为post-update
填入如下代码 参考这里
#!/bin/sh
git --work-tree=/home/git --git-dir=/home/git/hexo.git checkout -f
修改权限使其可执行
chmod +x post-update
接下来,在第一步中建立的hexo项目目录,编辑_config.yml,修改deploy项,类似如下
deploy:
type: git
repo: git@server:/home/git/hexo.git
branch: master
将server改为你的服务器地址
在hexo项目目录中安装hexo-deployer-git
npm install hexo-deployer-git --save
好了,现在执行
hexo new <title>
title换成文章标题
然后执行
hexo g -d
g和d是generate和deploy的简写
另外你可以直接编辑或新建hexo项目目录下./source/_posts目录里的md文件(至于Markdown语法,看看这里吧)
这时访问你的服务器试试吧!!!
【完】
原载于数星|博客
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。