Hexo 个人博客部署到 CentOS 个人服务器

Hexo 一个快速,简单和强大的博客框架,基于 Node.js。

<!-- more -->

目标

  • 在一台 CentOS 7.2 的 ECS 云服务器上快速部署基于 Hexo 的博客站点

  • 可以在本地简洁快速发布一篇博文到个人云服务器上,用于个人站点展示

准备工作

  • 你能操作的个人电脑PC * 1台

  • 自己能控制的服务器Sever * 1台

服务器配置

默认 ROOT 权限登录

  1. -p /data/www/hexo

  2. -R $USER:$USER /data/www/hexo

  3. -R 755 /data/www/hexo

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

vim /data/www/hexo/index.html

添加如下代码:

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

配置 Nginx 服务器

vim /etc/Nginx/Nginx.conf

# vim 查找: /listen 80

通过 vim 查找功能找到如下代码,并修改

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

访问服务器 IP 或者域名显示

Nginx running

Nginx 配置成功

  • Git 配置
    创建文件目录,用于私人 Git 仓库搭建,并更改目录读写权限

  1. -p /data/GitLibrary

  2. -R $USER:$USER /data/GitLibrary

  3. -R 755 /data/GitLibrary

Git 初始化裸库

cd /data/GitLibrary
git init --bare hexo.git

创建 Git 钩子(hook)

vim /data/GitLibrary/hexo.git/hooks/post-receive

用于指定 Git 的源代码 和 Git 配置文件

#!/bin/bash
git --work-tree=/data/www/hexo --git-dir=/data/GitLibrary/hexo.git checkout -f

保存并退出后,给该文件添加可执行权限

chmod +x /data/GitLibrary/hexo.git/hooks/post-receive

本地配置

这篇文章在 MacOS 上安装 node.js Git Hexo等

Windows & Linux 可搜索对应平台软件安装

  • 安装 Git
    在 Terminal.app(终端) 中输入:

    xcode-select --install

    按照提示完成安装,最后在 Terminal 中输入

    git -v

    如下显示,表示 Git 安装成功

    git version 2.11.0 (Apple Git-81)
  • 安装 Node.js 和 Npm
    Node.js 安装在 MacOS 中需要用到 Homebrew 进行安装管理

    Homebrew 在 MacOS 里类似于 CentOS 的 yum

    在 Terminal 输入:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    使用 Homebrew 安装 Node.js

    brew install node

    在 Terminal 中键入类似的命令,如下显示,表示 Node 和 Npm 安装成功

    node -v
    v7.10.0
    npm -v
    4.2.0
  • 安装 Hexo 及相关插件
    全局安装 hexo-cli 和 hexo-server

    npm install hexo-cli hexo-server hexo-deployer-git -g

    安装完成后,在本地初始化博客站点搭建

    hexo init ~/myBlog
    
    # ~/myBlog 即本地存放路径

    完成安装,便可以在本地路径查看项目

  • 本地 Hexo 配置
    进人~/myBlog 目录,修改 Hexo 博客站点配置文件 _config.yml,如下修改:

    title: 页面标题     //页面标题
    subtitle: 小标题     //小标题
    description: 描述     //描述
    author: 作者       //作者
    language: zh-Hans     //语言
    timezone:       //时区
    
    # URL
    ### If your site is put in a subdirectory,set url as 'http://yoursite.com/child' and root as '/child/'
    url: http://leyliu.com      //个人域名
    
    ......
    
    # Deployment
    ### Docs: https://hexo.io/docs/deployment.html
    deploy:     //发布对应的github账号
    type: git
    repo: root@leyliu.com:/data/GitLibrary/hexo  //用户名@域名或 IP 地址:/data/GitLibrary/hexo
    branch: master

部署步骤

将本地部署到服务器

  • 清除缓存

    hexo clean
  • 生成静态页面:

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

    hexo deploy

    完成 Hexo 个人博客网站搭建,通过服务器 IP 或者域名即可访问

结束语

以上就是我个人采用Hexo+云服务器搭建个人博客的全部流程,较为完整地介绍了 Hexo 博客的安装及简单配置,服务端如何配置通过 Git 部署 Nginx 及 Linux 简单应用。
在云服务器上创建私有 Git 仓库,通过 Git 钩子,将 Hexo 生成博客静态页面文件,推送到 Nginx 服务的托管目录,完成部署。

如有疑问,可留言或者搜索引擎解决

相关文章

有时候CentOS工作在无互联网的环境下,需要在离线环境下安装一些组件,这次实现的是模拟在离线环境下安...
首先参照https://www.cnblogs.com/wdw984/p/13330074.html,来进行如何安装Centos和离线下载rpm包。 离...
有两个.NET CORE3.1网站部署在CentOS7上(内网IP是192.168.2.32),现在想实现访问http://192.168.2.32...
1、yum -y install vsftpd 安装vsftpd 2、配置vsftpd的配置文件(/etc/vsftpd/vsftpd.conf)主要修改以...
首先去mysql官网下载mysql的离线rpm安装包(https://downloads.mysql.com/archives/community/) Mysql...
第一步下载erlang环境并安装: wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_...