在阿里云上有一个学生服务器,一直想自己写一个个人网站,但工作量实在太大,索性还是搬运一下现成的东西。非常喜欢Hexo搭建的个人博客,偏爱Next主题。所以就开始了用云服务器搭架Hexo个人博客。

本地配置

1.安装Git,Node.js和Npm。
2.测试node和npm是否安装成功。

1
2
node -v
npm -v

  • 本地初始化博客站点搭建。(例如~/Desktop/myblog,在该文件夹中git bash后输入下面命令将所有文件置于该文件夹下)

    1
    hexo init
  • 本地hexo的配置(进入~/Desktop/myblog目录,修改Hexo博客站点配置文件-config.yml)

    1
    2
    3
    4
    5
    6
    ......
    deploy:
    type: git
    repo: root@120.79.128.36:/usr/local/blogRepo/hexo.git
    <font color="red">//服务器用户名@域名或IP:/服务器Git仓库</font>
    branch: master

服务器的配置

1.Nginx的配置

  • 安装Nginx

    1
    2
    yum -y update
    yum install -y git nginx
  • nginx的配置(创建文件目录,用于博客站点文件存放)

    1
    2
    3
    cd /usr/local
    mkdir hexo
    chmod 775 -R /usr/local/hexo/
  • 添加index.html,用于检测配置Nginx是否成功。

    1
    vim /usr/local/hexo/index.html
  • 添加以下代码并保存

1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8">
</head>
<body>
<p>Nginx running</p>
</body>
</html>
  • 配置Nginx服务器
    1
    vim /etc/nginx/nginx.conf
  • 修改server_name和root;
    1
    2
    3
    4
    5
    6
    7
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name www.xxx.com; # 填写个人域名
    root /usr/local/hexo/;
    }
    ......
  • 启动Nginx服务
    1
    service nginx start
  • 启动浏览器输入云服务器的个人域名或IP,查看是否呈index.html的内容

2.Git的配置

  • Git的安装
    1
    yum -y install git
  • 创建文件目录,用于私人Git仓库的搭建,并更改目录读写权限
    1
    2
    3
    cd /usr/local/
    mkdir blogRepo
    chmod 775 -R /usr/local/blogRepo/
  • Git初始化裸库
    1
    2
    cd blogRepo/
    git init --bare hexo.git
  • 创建Git钩子(hook)
    1
    vim /usr/local/blogRepo/hexo.git/hooks/post-receive
  • 输入以下信息,用于指定Git的源代码和Git配置文件
1
2
#!/bin/bash
git --work-tree=/usr/local/hexo --git-dir=/usr/local/blogRepo/hexo.git checkout -f
  • 保存并退出后,给该文件添加可执行权限
    1
    chmod +x /usr/local/blogRepo/hexo.git/hooks/post-receive

Hexo部署到服务器

  • 清除缓存(进入~/Desktop/myblog目录)
    1
    hexo clean
  • 生成静态页面

    1
    hexo generate

    可以简写成:hexo g

  • 将本地静态页面目录部署到云服务器

    1
    hexo deploy

    可以简写成:hexo d

  • 如果出现错误ERROR Deployer not found: git,执行:

    1
    npm install -save hexo-deployer-git
  • 启动本地服务器,预览网页
    1
    hexo server

    可简写成hexo s