专栏首页程序员小明Hexo之我的个人博客改用自己服务器搭建

Hexo之我的个人博客改用自己服务器搭建

最近小明介绍完自己用hexo+git搭建个人博客,大家好像更关心的是域名mynamecoder.com,不是应该关注技术嘛,让小明哭笑不得?,今天继续给大家讲一下如果觉得这两个代码托管平台打开加载太慢,我们可以考虑部署到自己的ECS服务器(小明在腾讯云搞活动够买的99元一年的服务器,邀请链接在文末)。

开场白

Hexo(https://hexo.io/zh-cn/) 是一个快速,简单和强大的博客框架,基于 Node.js。

目标

  • 在一台 CentOS 7.2 的 ECS 云服务器上快速部署基于 Hexo 的博客站点
  • 可以在本地简洁快速发布一篇博文到个人云服务器上, 用于个人站点展示

技术点

  • hexo环境搭建
  • git钩子自动部署

准备工作

  • 你能操作的个人电脑PC * 1台
  • 自己能控制的服务器Sever * 1台

服务器配置

默认 ROOT 权限登录

  • 安装 Git Nginx 升级 CentOS 所有包,包括系统版本内核升级 yum -y update yum install -y git nginx
  • Nginx 配置 创建文件目录, 用于博客站点文件存放, 并更改目录读写权限
   mkdir /data/www/hexo
   chmod -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.mynamcoder.com; # 填写个人域名
      root         /data/www/hexo;
  }
......

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

Nginx running

Nginx 配置成功

  • Git 配置 创建文件目录, 用于私人 Git 仓库搭建, 并更改目录读写权限
1. mkdir /data/GitLibrary
2. chmod -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

本地配置

小明使用的是mac,下面主要讲一下在 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-CN //语言 timezone: //时区,可以为空 # URL ### If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: http://www.mynamecoder.com //个人域名 ...... # 一个是服务器 deploy: - type: git repo: root@94.191.25.157:/root/hexo.git branch: master

部署步骤

将本地部署到服务器

  • 清除缓存 hexo clean
  • 生成静态页面: hexo generate
  • 将本地静态页面目录部署到云服务器 hexo deploy 完成 Hexo 个人博客网站搭建, 通过服务器 IP 或者域名即可访问

结束语

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

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

本文分享自微信公众号 - 程序员小明(coderxinqiji),作者:小明

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这可能是迄今为止最全的hexo博客搭建教程

    这是阮一峰在博客中写到的关于 Blog 的想法,而这里的第三阶段的实现就是利用 GitHub Pages 搭建博客。

    程序员小明
  • Hexo问题分享:忽略要编译的文件

    Hexo作为开源的博客平台,我们其实可以自定义一些自己喜欢的主题或者页面,我们只需要在source目录下填加一个demo目录放一些示例文件,hexo默认会编译s...

    程序员小明
  • 漫画:什么是计数排序?

    9,3,5,4,9,1,2,7,8,1,3,6,5,3,4,0,10,9 ,7,9

    程序员小明
  • 收好这份 Git 命令应急手册,关键时刻可保你一命

    这个网站整理了一些 Git 新手在使用 Git 时常会遇到的各种突发状况,并贴心的给出了应对方案。

    GitHubDaily
  • 今天创建了个人博客

    此问题的解决方法是:修改根目录下的配置文件_config.yml,修改deploy节点。原因是没有配置正确的git仓库地址。

    colezhou
  • 如何帮助女神处理Git使用的问题

    这个网站上面整理了一些 Git 新手在使用 Git 时常会遇到的各种突发状况,并贴心的给出了应对方案。

    灵魂画师牧码
  • Debug客栈 代码多方式备份策略

    友情提示:此篇文章大约需要阅读 1分钟57秒,不足之处请多指教,感谢你的阅读。订阅本站

    Debug客栈
  • 折腾博客系列之博客搭建:Hexo+Github pages

    初衷:之前我习惯用印象笔记进行知识的收集和整理,虽然很好用,但终归只适合输入而不适合输出。我需要的是一个更加开放的平台,在这上面可以输出: 1.学习的收获 ;2...

    Chor
  • 通过云环境部署Hexo静态博客

    其中.pub结尾的就是你的公钥了。这个是我们一会儿需要用到的。 如果使用这种方式,无法使用hexo自动部署。

    Dreamy.TZK
  • Python终端输出打印彩色字体的方法

    一  实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。    转义序列是以ESC开头,即用\033来完成(ESC的A...

    用户1214487

扫码关注云+社区

领取腾讯云代金券