Hexo部署到个人云服务器
前言
最近趁着活动薅羊毛又把服务器续上了,既然白嫖到了不用白不用,就将个人博客挪个窝;顺便记录一下。
购买服务器
首先我们需要有一台云服务器,我这里是买的腾讯云的
通过git生成ssh秘钥
| 1 | // 假如没有设置git的全局信息需要先设置 设置过了可以忽略 | 
配置服务器git
- 登录服务器
- 安装git
 通过git –version命令查看是否存在git命令,我这里已经安装好了;如果显示的是not found, 需要去安装yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y yum install -y git
- 创建用户并配置仓库在编辑区输入以下内容:1 
 2
 3
 4
 5
 6
 7
 8
 9useradd git // 创建用户 
 passwd git // 设置密码
 su git // 切换用户
 cd /home/git/ // 进入git用户所在home目录
 mkdir -p projects/blog // 创建项目存放的目录(可以自行创建命名)
 mkdir repos && cd repos // 创建文件夹
 git init --bare blog.git // 创建一个裸露的仓库
 cd blog.git/hooks // 创建 hook 钩子函数
 vi post-receive // 编辑hook钩子1 
 2
 3
 4
 5#!/bin/sh 
 git --work-tree=/home/git/projects/blog --git-dir=/home/git/repos/blog.git checkout -f
 // /home/git/projects/blog 项目存放地址
 // /home/git/repos/blog.git git远程服务器仓库
按住ESC,然后输出:wq保存退出!
| 1 | chmod +x post-receive // 为刚才的文件添加可执行的权限 | 
- 测试本地能否将其clone
在电脑上随便找个位置新建一个文件夹,并且将bash或者其他命令行工具切换到这里。开始执行以下命令(注意替换成你的服务器ip),测试能否将仓库clone下来。git clone git@server_ip:/home/git/repos/blog.git
- 建立SSH信任关系(免密登录)在本地测试能否连接成功1 
 2
 3
 4
 5
 6
 7su git // 切换到git用户 
 cd ~
 mkdir .ssh // 创建.ssh目录
 chmod 700 .ssh/ // 赋予权限
 cd .ssh // 进入.ssh目录
 vi authorized_keys // 编辑一个名为authorized_keys的文件,并写入公钥(id_rsa.pub)内容
 chmod 600 authorized_keys //添加完成后赋予权限ssh git@server_ip此时登录就只需要输入一次密码就好了。
配置NGINX服务器
- 安装1 
 2
 3
 4// 安装依赖 
 sudo yum install -y yum-utils
 // 安装nginx服务
 sudo yum install -y nginx
- 配置1 
 2
 3
 4//切换到nginx的配置文件目录 
 cd /etc/nginx
 // 编辑文件
 vi nginx.conf // 将 user 改成 root
修改root解析路径(/home/git/projects/blog/)
运行nginx此时在浏览器直接访问你的服务器ip地址即可看到一个404页面。
配置Hexo deploy
- 配置博客根目录下的_config.yml文件1 
 2
 3
 4
 5
 6
 7
 8deploy: 
 - type: git
 repo: git@github.com:lp-Imagine/lp-Imagine.github.io.git
 branch: master
 - type: git
 repo: git@42.192.205.229:/home/git/repos/blog.git
 branch: master
 - type: baidu_url_submitter // 百度主动推送
- 本地三连hexo clean && hexo g && hexo d
 评论










