博客迁移

新博客的ip地址

博客部署在github,访问起来实在是太慢了,(虽然写的也不频繁。。),于是放到了国内服务器上,方案是hexo+nginx。
ip: 39.108.177.97(还没有买域名)

整个迁移的过程

配置服务器

配置nginx

首先切换成root用户
安装nginx

1
apt intsall nginx

启动nginx

1
service nginx start

测试是否安装成功

1
nginx -V

能看到版本号就说明安装成功了

建立git仓库

通过建立一个git用户来进行git操作
新建git用户

1
adduser git

然后建立裸仓

1
2
3
cd /home/git
git init --bare hexo.git
chown -R git:git hexo.git

然后将本地上的ssh公钥复制到/home/git/.ssh/authorized_keys文件

配置Nginx

首先找到配置文件的目录,一般就是在/etc/nginx/nginx.conf

1
nginx -t

然后在http一项中添加子项

1
2
3
4
5
6
7
8
9
server{
listen 80;
root /home/git;
server_name localhost;

location / {
index index.html index.htm;
}
}

注意这里的root很重要,这就是你web资源存放的地方,一定要和下面的相对应。
之后,重新加载nginx服务器

1
nginx -s reload

自动部署

首先要修改本地仓库中的配置文件,修改部署的位置,找到_config.yml文件,打开后对最后一项进行修改:

1
2
3
4
5
6
7
deploy:
type: git
repo:
#github https://github.com/Hughlhz/Hughlhz.github.io.git
#server:
git@39.108.177.97:/home/git/hexo.git
branch: master

主要就是修改repo这一项,我之前是部署到github上,所以之前是用github的链接,现在部署到自己的服务器上,格式是

1
user@ip:git仓库位置

接下来是在裸仓中的hooks目录下,新建文件post-receive,并填入以下代码

1
2
#!/bin/sh
git --work-tree=/home/git --git-dir=/home/git/hexo.git checkout -f

其中work-tree的值必须和之前在nginx的配置文件中添加的root的值相同,这个就是nginx将要展示的地方,然后git-dir就填之前建立的裸仓位置。

然后再重启一下nginx,就可以直接访问博客了。