Hexo 博客部署到腾讯云服务器

806 阅读2分钟
原文链接: blog.sanyuehua.net

前言

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

此镜像腾讯云链接
此镜像说明书

环境前提 : 博客可以部署到 GitHub 上
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  # 将复制的内容拷贝在此文件中