简介
由于博客原来部署在Github上访问速度太慢,所以将原Hexo博客部署到腾讯云
部署环境
腾讯云服务器(CentOS 64位)
服务器配置
安装依赖包
代码语言:javascript复制yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
卸载原来的git
原因:原来的git版本太低
代码语言:javascript复制yum remove git
下载并解压新版本的Git
代码语言:javascript复制cd /usr/local/src // 选择文件保存位置
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.4.tar.gz // 下载链接
tar -zxvf git-2.18.4.tar.gz // 解压
编译并安装
代码语言:javascript复制cd git-2.19.0 // 进入文件夹
make prefix=/usr/local/git all // 编译源码
make prefix=/usr/local/git install // 安装至 /usr/local/git 路径
编辑环境配置文件
代码语言:javascript复制vim /etc/profile
在文件末尾添加如下内容
代码语言:javascript复制PATH=$PATH:/usr/local/git/bin // git 的目录
export PATH
刷新环境变量
代码语言:javascript复制source /etc/profile
创建git用户并修改权限
代码语言:javascript复制adduser git
passwd git
chmod 740 /etc/sudoers
vim /etc/sudoers
找到一下内容
代码语言:javascript复制## Allow root to run any commands anywhere
root ALL=(ALL) ALL
在该语句下添加
代码语言:javascript复制git ALL=(ALL) ALL
退出(esc :wq)并修改权限
代码语言:javascript复制chmod 400 /etc/sudoers
本地使用gitbash创建密钥
代码语言:javascript复制ssh-keygen -t rsa //因为我在GitHub上部署博客时已经创建过密钥,这里可以直接跳过生成,用以前的密钥
在腾讯云中创建ssh,并将本地的id_rsa.pub中的文件内容全部复制到authorized_keys中
代码语言:javascript复制su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
修改权限
代码语言:javascript复制cd ~
chmod 600 .ssh/authorized_keys
chmod 700 .ssh
本地测试
代码语言:javascript复制ssh -v git@SERVER //@后是你自己的服务器公网IP,如果不出现failed字样,说明成功
云服务器中创建网站目录并设置权限
代码语言:javascript复制su root
mkdir /home/hexo
chown git:git -R /home/hexo
安装 Nginx
代码语言:javascript复制yum install -y nginx // 安装
systemctl start nginx.service // 启动服务
以上执行完之后,在浏览器中输入你的公网IP如果可以进入CentOs界面,说明Nginx安装成功
配置Nginx
代码语言:javascript复制nginx -t // 命令查看位置,一般为 /etc/nginx/nginx.conf。
vim /etc/nginx/nginx.conf //修改配置文件,在server_name后添加自己的域名(要备案),root后添加/home/hexo
重启服务
代码语言:javascript复制systemctl restart nginx.service
建立git仓库并修改权限
代码语言:javascript复制su root
cd /home/git
git init --bare blog.git
chown git:git -R blog.git
同步网站根目录
代码语言:javascript复制vim blog.git/hooks/post-receive
填入如下内容
代码语言:javascript复制#!/bin/sh
git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f
修改权限
代码语言:javascript复制chmod x /home/git/blog.git/hooks/post-receive
在本地Hexo目录下修改_config.yml文件中的deploy后的repo改为:
代码语言:javascript复制git@SERVER:/home/git/blog.git //@后为你的服务器公网IP
以上全部完成后,执行hexo的部署命令即可完成在腾讯云服务器上的博客部署