Hexo-NexTHexo

优化hexo访问速度-将hexo部署到云主机VPS

2017-08-11  本文已影响43人  codestory

写在开始

一开始将自己hexo部署到github,结果发现打开页面速度有点慢,然后又将其同时部署到coding,实现双线路访问,国内解析记录到coding,国外解析到github,这样确实网站的速度能提高不少,但是国内访问因为是经过coding,所以打开网站会有广告,这点不能容忍,于是想到自己的服务器也还空闲着,于是想到可以部署到自己的服务器上,折腾开始

演示站点

部署总览

本地环境搭建

云主机环境搭建

yum install git
#安装NodeJS
curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
adduser git
chmod 740 /etc/sudoers
vim /etc/sudoers
## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
#然后将本地电脑中执行 cat ~/.ssh/id_rsa.pub | pbcopy ,将公钥复制粘贴到
authorized_keys
chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh
# repo 作为为git仓库目录
mkdir -R /var/repo
# hexo 作为网站根目录
mkdir -R /var/www/hexo
   server {
        listen       80;
        # server_name 填写自己的域名
        server_name  www.fayne.cn;
        # 这里root填写自己的网站根目录
        root         /var/www/hexo;
        index index.html index.php index.htm;
        #/usr/local/tomcat/webapps/Forum

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
         location / {
        }
        location ~ .php$ {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
}

设置解析

使用git自动化部署博客

自动化部署主要用到了git-hooks同步

su git
cd /var/repo/
git init --bare blog.git
vim /var/repo/blog.git/hooks/post-update
# 编辑文件,写入以下内容
#!/bin/sh
git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f
保存后,要赋予这个文件可执行权限
chmod +x post-update
deploy:
  type: git
  repo:
    github: git@github.com:Finhoo/Finhoo.github.io.git
    www: git@www.fayne.cn:/var/repo/blog.git
  branch: master

保存后,即可测试部署

hexo clean && hexo g -d

常见问题

我在部署过程中,执行 hexo d发现部署老是出错,什么权限不允许之类的,这里我们需要检查我们在上述的git操作部署是否使用了git用户操作,若是没有,需要给相应的目录更改用户组
使用chown -R git:git /var/repo/这条命令递归的将repo目录及其子目录用户组设置为git,同时chown -R git:git /var/www/hexo,这样即可解决此类问题

参考资料

阿里云VPS搭建自己的的Hexo博客

上一篇下一篇

猜你喜欢

热点阅读