【玩转腾讯云】Hexo博客部署腾讯云

2020-04-26 14:19:28 浏览数 (1)

简介

由于博客原来部署在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的部署命令即可完成在腾讯云服务器上的博客部署

0 人点赞