将hexo博客部署到云服务器上

将hexo博客部署到云服务器上

前言

很多时候都是将hexo博客和github结合一起用的,但其实github的访问速度在国内并不理想,加载很慢,所以索性就把博客放到我的学生云服务器上。

配置过程

  1. root用户登录系统
  2. 安装Nginx和git
yum -y update
yum install -y git nginx

3.配置NGinx

cd /usr/local/
mkdir hexo
chmod 775 -R /usr/local/hexo/

4.添加 index.html,用于检测配置 Nginx 是否成功。

vim /usr/local/hexo/index.html

添加如下代码并保存。

<!DOCTYPE html>
<html>
  <head>
    <title></title>
    <meta charset="UTF-8">
  </head>
  <body>
    <p>Nginx running</p>
  </body>
</html>

5.配置 Nginx 服务器。

vim /etc/nginx/nginx.conf

修改配置文件

......
server {
      listen       80 default_server;
      listen       [::]:80 default_server;
      server_name  www.xxx.com; # 填写个人域名
      root         /usr/local/hexo/;
  }
......

6.启动Nginx服务

service nginx start

启动浏览器输入云服务器的域名或者ip,是否呈现index内容

服务器Git配置

1.创建文件目录, 用于私人 Git 仓库搭建, 并更改目录读写权限。

cd /usr/local/
mkdir blogRepo
chmod 775 -R /usr/local/blogRepo/

2.Git 初始化

cd blogRepo/
git init --bare hexo.git

3.创建hook

vim /usr/local/blogRepo/hexo.git/hooks/post-receive

指定git的源文件和配置文件

#!/bin/bash
git --work-tree=/usr/local/hexo --git-dir=/usr/local/blogRepo/hexo.git checkout -f

4.给该文件添加可执行权限

chmod +x /usr/local/blogRepo/hexo.git/hooks/post-receive

本地hexo配置

进入hexo的站点配置文件 _config.yml

# Deployment
### Docs: https://hexo.io/docs/deployment.html
deploy:     //发布对应的github账号
type: git
repo: root@xxx.xxx.xxx.xxx:/usr/local/blogRepo/hexo  //用户名@域名或 IP 地址:/usr/local/blogRepo/hexo
branch: master

本地部署到服务器

1.cd 到本地博客目录
hexo clean
2.生成静态页面
hexo g
3.将本地静态页面部署到云上
hexo d

再次访问云服务器,可看到博客部署成功