腾讯云+本地Hexo+自动部署 搭建自己的博客系统

1.准备工作

1.1安装git服务器,本地都需要安装

  • Windows:下载并安装 git.
  • Mac:使用 Homebrew, MacPortsbrew install git;或下载 安装程序 安装。
  • Linux (Ubuntu, Debian):sudo apt-get install git-core
  • Linux (Fedora, Red Hat, CentOS):sudo yum install git-core

1.2安装 Node.js服务器,本地都需要安装

安装 Node.js 的最佳方式是使用 nvm

cURL:

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | sh

Wget:

$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | sh

安装完成后,重启终端并执行下列命令即可安装 Node.js。

$ nvm install stable

或者您也可以下载 安装程序 来安装。

1.3安装hexo本地安装

$ npm install -g hexo-cli

1.4安装Nginx 服务器安装

自行百度安装

2.搭建博客

2.1 创建Hexo所需文件本地

$ hexo init <folder>
$ cd <folder>
$ npm install

2.1 创建git账户服务器

$ useradd git  
$ passwd `git的密码`

2.2 创建私有 Git 仓库服务器

sudo mkdir /var/repo/
sudo chown -R git:root /var/repo/
sudo chmod -R 755 /var/repo/

cd /var/repo/
git init --bare hexo_static.git

2.3 创建Hexo静态文件夹服务器

sudo mkdir /var/repo/hexo

2.3 创建ssh连接服务器本地

//生成ssh key
ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 
//复制ssh到云服务器
ssh-copy-id -i .ssh/id_rsa.pub  git@服务器ip或域名

2.4 配置Hexo本地

其他配置可以参考官方文档
主要配置git仓库地址

$ cd <folder>
$ vi _config.yml

修改deploy:

deploy:
  type: git
  repo: git@`服务器ip或域名`:/var/repo/hexo_static.git

这时候使用hexo g -d变可以上传静态文件到服务器git地址,但是现在还无法访问,还需要设置Nginx。

2.5 配置Nginx服务器

  1. 查询Nginx配置文件地址
$ nginx -t

nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /www/server/nginx/conf/nginx.conf test is successful
  1. 编辑配置文件
    笔者的配置文件地址为/www/server/nginx/conf/nginx.conf
$ vi /www/server/nginx/conf/nginx.conf
//找到server如果是http找到80端口 https找到443端口
//以下只列出需要修改的内容
server {
        server_name 123.456.789; #填写域名 或者服务器ip
        location / {
            root   /var/repo/hexo; #2.3中建立的Hexo地址
            index  index.html index.htm;
        }
   }

现在离成功只有最后一步了,加油

2.6 添加自动部署

自动部署的原理就是你push到git仓库,然后把git仓库的文件复制一份到hexo文件夹里,这样就每次更新还需要手动复制了。

  1. 进入2.2创建的仓库
$ cd /var/repo/hexo_static.git
//配置钩子
$ vim post-receive
  1. 将入下代码复制进去 ,并保存退出
#!/bin/bash
git --work-tree=/var/repo/hexo --git-dir=/var/repo/hexo_static.git checkout -f
  1. 给钩子文件添加执行权限
$ chmod +x post-recevie 

3. 运行

本地更新完博客后执行hexo g -d变会自动部署,即可访问地址查看

注意

  1. 第一次执行hexo g -d可能会出现 hexo-deployer相关警告,本地执行npm install hexo-deployer-git --save命令即可
  2. ssh无法连接可能是由于.ssh文件夹权限的问题,可百度解决
  3. 如果hexo g -d后发现服务器/var/repo/hexo文件为空,是由于git用户对于/var/repo/hexo权限不足造成。服务器执行chmod 777 /var/repo/hexo

最后祝大家顺利建立起属于自己的博客!!

推荐阅读更多精彩内容