纯小白-Hexo部署(Git)至云服务器(腾讯)

前期准备

  • 购买云服务器
  • 域名
  • 一台电脑
  • 本地已经搭建好Hexo,如果没有请参考Hexo建站文档

本地搭建

  • 生成ssh密钥

首先确认自己本地有没有生成ssh密钥,查看有没有 ~/.ssh 这个文件夹,其中id_rsa.pub则为公钥。

1
windows用户在:C:\Users\yourname\.ssh 

需要注意如果安装了Cadence软件,生成的公钥,将会在Candence目录下

如果没有则执行一下命令:

1
2
3
4
5
git config --global user.name "你的用户名" 

git config --global user.email "你的的邮箱"

ssh-keygen -t rsa -C "你的的邮箱"

服务器搭建

root账号

切换到root账号 :su root

安装git 请先检查是否安装git,如果安装了就不用安装了。

1
git --version

如果提醒git command not found就是没安装

1
yum install git 

创建git账户并设置密码

1
2
3
adduser git 

passwd git

小白提醒:设置密码时,密码时不显示的。

赋予权限
1
chmod 740 /etc/sudoers 
编辑 /etc/sudoers 文件
1
vim /etc/sudoers 

在root ALL=(ALL) ALL下一行加入:

1
git     ALL=(ALL)     ALL 
权限修改回去
1
chmod 400 /etc/sudoers 

git账号

创建.ssh文件夹
1
2
3
4
5
6
7
su git

cd ~

mkdir .ssh

cd .ssh
创建git密钥
1
ssh-keygen 
复制公钥
1
cp id_rsa.pub authorized_keys 
修改权限
1
2
3
chmod 600 ~/.ssh/authorized_keys 

chmod 700 ~/.ssh
上传本地公钥

本地搭建生成的id_rsa.pub内容拷贝到服务器的authorized_keys文件末尾即可。

本地测试

打开命令行工具输入:

1
ssh -v git@云服务器的公网IP 

免密登录即ok,如果第一次提示输入密码,输入即可,后面就不需要了,如果后面还是需要请检查服务器端和本地搭建是否设置正确。

创建git仓库
  • 初始化git仓库 创建位置自己选择,我这演示创建在/home/git下
1
2
3
cd ~ 

git init --bare myblog.git
  • 创建git钩子
1
vim ~/myblog.git/hooks/post-receive 
  • 输入以下内容:
1
git --work-tree=/home/git/myblog --git-dir=/home/git/myblog.git checkout -f 

这里的目录自行选择,我这里是/home/git/myblog

  • 设置文件可执行权限
1
chmod +x ~/myblog.git/hooks/post-receive 

配置nginx

我的nginx使用BT配置比较简单,所以这里就不演示了。

博客配置

其实这里就简单了,和github一样,把_config.yml文件中deploy>repo地址改成

1
git@云服务器公网IP:/home/git/myblog.git