hexo-部署到腾讯云服务器

  1. 服务器安装配置git仓库
    1. 安装git
    2. 创建一个git账号密码
    3. 设置git服务器RSA认证
    4. 初始化一个blog仓库
    5. 设置git钩子
    6. 创建静态文件目录
  2. nginx 配置
  3. hexo 发布设置

服务器安装配置git仓库

安装git

yum install git -y

创建一个git账号密码

useradd git
passwd git
su - git

设置git服务器RSA认证

  1. 本地生成公钥私钥

    ssh-keygen -t rsa

    秘钥所在位置是~/.ssh,里面包含了id_rsa和id_rsa.pub分别是私钥和公钥,id_rsa.pub是我们后面需要服务器需要用到的。

  2. git服务器打开RSA认证

    vim /etc/ssh/sshd_config

    在sshd_config中设置以下几项:

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile  .ssh/authorized_keys
  3. 配置ssh
    切换git用户并且设置密钥

    su git
    cd ~
    mkdir .ssh
    cd .ssh
    // ~/.ssh/id_rsa.pub  ,将公钥复制粘贴到authorized_keys
    vi authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    chmod 700 ~/.ssh
  4. 执行ssh 命令测试
    执行ssh命令测试是否可以免密登录

    ssh -v git@服务器的公网ip

初始化一个blog仓库

# 注意切换到git账号 su git 
cd ~
git init --bare blog.git

设置git钩子

编辑文件 /home/git/blog.git/hooks/post-receive 内容如下:

#!/bin/bash
rm -rf /home/www/blog
git clone /home/git/blog.git /home/www/blog

意思是当git仓库更新时,clone 一份到 /home/www/blog 目录中

chmod a+x /home/git/blog.git/hooks/post-receive

创建静态文件目录

新建/home/www/blog文件夹,需要切换到root账户

cd /home

mkdir www

cd www

mkdir blog

// 修改文件夹权限 
chmod 777 /home/www/blog

chmod 777 /home/www

nginx 配置

server {
    ......
    # 站点根目录
    root /data/www/blog;
}

重启Nginx服务

hexo 发布设置

编辑hexo 根目录下的 _config.yml

deploy:
  type: git
  repository: git@<腾讯云服务器公网ip>:/home/git/blog.git
  brach: master
hexo g -d

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
My Show My Code