前言
服务器采用的是 Tomcat 服务器来放置博客静态页面实现访问,无 Nginx 配置
笔者这里选择的是腾讯云服务市场的镜像,可以省去配置 Tomcat、JDK 等环境配置
此镜像的默认配置为 Tomcat7 + JDK1.7
Hexo 博客部署到 GitHub 上

- 配置腾讯云服务器的安全组,比便后续配置成功后的正常访问

Tomcat 配置
在服务器默认站点目录 yjdata/www/www 创建静态页面放置的文件目录
cd /yjdata/www/www
mkdir my_blog
# 修改文件权限
chown -R $USER:$USER ./my_blog
chmod -R 755 ./my_blog
配置域名访问
cd /yjdata/www/tomcat/conf
vim server.xml
找到如下代码
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443" />
修改为
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
URIEncoding="UTF-8"
connectionTimeout="20000"
redirectPort="8443" />

接着再找到 <Host name="localhsot" ...>...</Host>
在 </Host> 下面添加如下代码
<Host name="这里输入您的域名" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/yjdata/www/www/my_blog" reloadable="true"/>
</Host>

保存退出 :wq
关闭 Tomcat
/yjdata/www/tomcat.sh stop
启动 Tomcat
/yjdata/www/tomcat.sh start
Git 配置
安装 git
yum install git
创建 Git 仓库目录
mkdir /hexo
chown -R $USER:$USER /hexo
chmod -R 755 /hexo
初始化 Git 裸仓库 , 初始化之后我们才可以向这个仓库中添加代码
cd /hexo
git init --bare blog_static.git
设置 Git 钩子
在服务器上的裸仓库 blog_static 创建一个钩子,在满足特定条件时将静态 HTML 文件传送到 Web 服务器的目录下 /yjdata/www/www/my_blog
在 Git 裸仓库 hooks 目录下创建一个钩子文件
vim /hexo/blog_static.git/hooks/post-receive
在 post-receive 文件中添加两行代码,指定 Git 的工作树(源代码)和 Git 目录(配置文件)
#!/bin/bash
git --work-tree=/yjdata/www/www/my_blog/ --git-dir=/hexo/blog_static.git checkout -f
:wq 保存退出,让此文件变成可执行文件
chmod +x /hexo/blog_static.git/hooks/post-receive
本地配置
修改本地 Hexo 根目录 _config.yml 文件
deploy:
type: git
repo:
root@您服务器的IP地址:/hexo/blog_static
branch: master
配置免密登录
首先拷贝本地的 .ssh 文件下的 id_rsa.pub 文件的内容
服务器端生成 ssh key
cd ~
ssh-keygen -t rsa
vim .ssh/authorized_keys # 将复制的内容拷贝在此文件中