一、服务器端的操作

1.安装git与Nginx

1
yum install -y nginx git

2.添加一个用户

1
2
3
4
5
6
7
8
9
10
11
12
#添加用户,名为blog
useradd blog
#为用户blog设置密码
passwd blog
#为blog用户配置sudo权限
chmod 740 /etc/sudoers
#编辑sudoers配置文件
vim /etc/sudoers
#找到root ALL=(ALL) ALL在其下方加入一行
blog ALL=(ALL) ALL
#为文件授权
chmod 400 /etc/sudoers

3.为用户添加ssh密钥

1
2
3
4
5
6
7
8
9
10
11
12
#切换到用户blog
su - blog
#创建.ssh目录以存放密钥
mkdir -p ~/.ssh
#创建存放密钥的文件并授权
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
#生成ssh密钥
ssh-keygen
#将ssh公钥粘贴进去
sudo vim ~/.ssh/authorized_keys

4.创建git仓库实现自动部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#创建git仓库并使用git-hooks实现自动部署
#新建目录,这是git仓库的位置
sudo mkdir -p /var/repo
#nginx的网页存放位置
sudo mkdir -p /var/www/hexo
#转到git仓库的文件夹
cd /var/repo
#创建一个名叫blog的仓库
sudo git init --bare blog.git
sudo vim /var/repo/blog.git/hooks/post-update
#post-update内容如下
#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f
#给post-update授权
cd /var/repo/blog.git/hooks/
sudo chown -R blog:blog /var/repo/
sudo chown -R blog:blog /var/www/hexo
#赋予其可执行权限
sudo chmod +x post-update

5.配置nginx

1
2
3
4
5
6
7
8
9
cd /etc/nginx/conf.d/
sudo vim blog.conf
#内容如下
server {
listen 80 default_server;
listen [::] default_server;
server_name 127.0.0.1;#可以写自己的域名
root /var/www/hexo;
}

检查Nginx语法并重载nginx

1
2
3
4
5
6
7
sudo nginx
sudo nginx -t
#出现以下内容则表示配置文件无误
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
#重启nginx
sudo nginx -s reload

6.修改blog用户的默认shell环境

1
2
3
4
sudo vim /etc/passwd
#修改最后一行
#将/bin/bash修改为/usr/bin/git-shell
blog:x:1002:1002::/home/blog:/usr/bin/git-shell

7.解析域名

到购买域名的供应商控制台,将域名解析到自己的服务器即可。

二、客户端的操作

1.安装Git

1
sudo yum install git -y

安装完成,使用git –version命令 来查看版本

2.安装nodejs

Hexo使用需要安装一下nodeJs和里面的npm工具

1
2
sudo yum install nodejs -y
sudo yum install npm -y

验证是否安装

1
node -v && npm -v

国内优秀npm镜像
淘宝npm镜像
搜索地址:http://npm.taobao.org/
registry地址:http://registry.npm.taobao.org/
cnpmjs镜像
搜索地址:http://cnpmjs.org/
registry地址:http://r.cnpmjs.org/
持久使用

1
2
3
4
npm config set registry https://registry.npm.taobao.org
#配置后可通过下面命令来验证是否成功
npm config ls
#此时:metrics-registry = "http://registry.npm.taobao.org/"表示设置成功

3.安装Hexo

创建一个文件夹blog,然后进入cd到此文件夹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sudo mkdir blog
cd blog
#安装Hexo
sudo npm install -g hexo-cli
#查看Hexo版本
hexo -v
#切换到root用户初始化Hexo
hexo init qhuai-blog
#这个qhuai-blog可以自己取什么名字都行
#进入这个qhuai-blog文件夹
cd qhuai-blog
npm install
#新建完成后,指定文件夹目录下有:
#node_modules: 依赖包
#public:存放生成的页面
#scaffolds:生成文章的一些模板
#source:用来存放你的文章
#themes:主题
#_config.yml: 博客的配置文件
hexo g
hexo server

4.将hexo部署到服务器

安装完hexo就可以将hexo生成的文章部署到服务器上,打开站点配置文件 _config.yml,翻到最后,修改为

1
2
3
4
deploy:
type: git
repo: blog@server_ip:/var/repo/blog.git # IP填写自己服务器的IP即可
branch: master

先安装deploy-git ,才能用命令部署到Git。

1
2
3
4
5
6
7
npm install hexo-deployer-git --save
#配置邮箱及名称
git config --global user.email "你的邮箱"
git config --global user.name "你的名字"
#hexo clean清除了你之前生成的东西,也可以不加。
#hexo generate 生成静态文章,可以用 hexo g缩写
#hexo deploy 部署文章,可以用hexo d缩写

更新完就可以在你浏览器里输入你设置的域名就可以看见你的劳动成果了

5. 发布个人文章

创建新文章

1
hexo new newpapername

然后在source/_post中打开markdown文件,就可以开始编辑了。当你写完的时候,再

1
2
3
hexo clean
hexo generate
hexo deploy

输入密码上传完成就可以看到更新了