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

<!-- more -->

目标

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

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

准备工作

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

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

服务器配置

默认 ROOT 权限登录

  • 安装 Git Nginx
    升级 CentOS 所有包,包括系统版本内核升级

    yum -y update
    yum install -y git Nginx
  • Nginx 配置
    创建文件目录,用于博客站点文件存放,并更改目录读写权限

  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 服务的托管目录,完成部署。

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

Hexo 个人博客部署到 CentOS 个人服务器的更多相关文章

  1. canvas中普通动效与粒子动效的实现代码示例

    canvas用于在网页上绘制图像、动画,可以将其理解为画布,在这个画布上构建想要的效果。本文详细的介绍了粒子特效,和普通动效进行对比,非常具有实用价值,需要的朋友可以参考下

  2. H5混合开发app如何升级的方法

    本篇文章主要介绍了H5混合开发app如何升级的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  3. canvas学习和滤镜实现代码

    这篇文章主要介绍了canvas学习和滤镜实现代码,利用 canvas,前端人员可以很轻松地、进行图像处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  4. localStorage的过期时间设置的方法详解

    这篇文章主要介绍了localStorage的过期时间设置的方法详解的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. 详解HTML5 data-* 自定义属性

    这篇文章主要介绍了详解HTML5 data-* 自定义属性的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  6. HTML5的postMessage的使用手册

    HTML5提出了一个新的用来跨域传值的方法,即postMessage,这篇文章主要介绍了HTML5的postMessage的使用手册的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. 教你使用Canvas处理图片的方法

    本篇文章主要介绍了教你使用Canvas处理图片的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  8. 在Xcode中安装的git中禁用osxkeychain凭证帮助程序

    解决方法如果您的问题主要关注的是安全性,并且您希望每次都输入密码,那么我会接受钥匙串以适应您的目标>进入osx钥匙串应用程序,>如果您使用的是https,请查找服务器名称>通过单击更改其设置,并在选项卡“访问控制”标记“询问钥匙串密码”下>如果需要,请从列入白名单的应用程序列表中删除git-credential-osxkeychain应用程序.请注意,在Linux上,默认行为也是自动发送凭据.

  9. ios – Swift语言:如何调用SecRandomCopyBytes

    从Objective-C,我可以这样做:在Swift中尝试这个时,我有以下内容:但我得到这个编译器错误:data.mutableBytes参数被拒绝,因为类型不匹配,但我无法弄清楚如何强制参数.解决方法这似乎有效:

  10. 使用Firebase iOS Swift将特定设备的通知推送到特定设备

    我非常感谢PushNotifications的帮助.我的应用聊天,用户可以直接向对方发送短信.但是如果没有PushNotifications,它就没有多大意义.它全部设置在Firebase上.如何将推送通知从特定设备发送到特定设备?

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部