云服务器网:购买云服务器和VPS必上的网站!

hexo搭建教程(hexo怎么部署到服务器)

本文目录:1、基于腾讯云搭建自己的的Hexo博客2、如何用github-hexo搭建一个静态博客3、hexo搭建部署到gitee(基础教程)4、hexo+github博客搭建与备份教程(详细篇)5、Hexo 教程:Hexo 博客部署到腾讯云教程基于腾讯云搭建自己的的Hexo博客 先搞明白Hexo博客

本文目录:

  • 1、基于腾讯云搭建自己的的Hexo博客
  • 2、如何用github-hexo搭建一个静态博客
  • 3、hexo搭建部署到gitee(基础教程)
  • 4、hexo+github博客搭建与备份教程(详细篇)
  • 5、Hexo 教程:Hexo 博客部署到腾讯云教程

基于腾讯云搭建自己的的Hexo博客

先搞明白Hexo博客从搭建到自动发布的架构,才能更好的理解我们每一步进行的操作。

不然只跟着步骤过了一遍,却不知道为什么这么做。

首先看这张架构图:

整个流程就是本地将 *.md 渲染成静态文件,然后Git推送到服务器的 repository ,服务器再通过 git-hooks 同步网站根目录。

前提条件: 腾讯云服务器

第一部分 : 服务器环境搭建,包括安装 Git 、 Nginx 配置 、创建 git 用户 。

第二部分 : 本地 Hexo 初始化, 包括安装 NodeJS 、 hexo-cli , 生成本地静态网站

第三部分 : 使用Git自动化部署发布博客

NodeJS 安装可以参考: Linux安装NodeJS

找到以下内容

在下面添加一行

保存退出后改回权限

随后设置Git用户的密码,

切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限

然后就可以执行ssh 命令测试是否可以免密登录

至此,Git用户添加完成

我是用的是lnmp 一键安装包,nginx安装教程一大堆,就不再叙述。主要看nginx配置。

找到nginx的配置文件,修改配置如下:

首先要安装 hexo-cli ,安装 hexo-cli 需要 root 权限,使用 sudo 运行

然后初始化Hexo程序

等执行成功以后安装两个插件, hexo-deployer-git 和 hexo-server ,这俩插件的作用分别是使用Git自动部署,和本地简单的服务器。

hexo-deployer-git帮助文档

hexo-server帮助文档

使用 hexo new 文章名称 来新建文章,该命令会成成一个 .md 文件放置在 sources/_posts 文件夹。

编辑完毕以后, 使用 hexo g 将 .md 文件渲染成静态文件,然后启动 hexo-server :

现在便可以打开浏览器访问 来查看我们的博客了!

创建一个裸仓库,裸仓库就是只保存 git 信息的 Repository , 首先切换到 git 用户确保 git 用户拥有仓库所有权

一定要加 –bare ,这样才是一个裸库。

在这里我们使用的是 post-receive 这个钩子,当git有收发的时候就会调用这个钩子。 在 ~/blog.git 裸库的 hooks 文件夹中,

新建 post-receive 文件。

保存后,要赋予这个文件可执行权限

然后打开 _config.yml , 找到 deploy

保存后,尝试将我们刚才写的”hello hexo”部署到服务器

访问服务器地址,就可以看到我们写的文章”Hello hexo”,以后写文章只需要:

博客就更新咯!~

使用 Git Hook 自动部署 Hexo 到个人 VPS

Hexo 文档

如何用github-hexo搭建一个静态博客

Hexo搭建Github静态博客

1. 环境环境

1.1 安装Git

请参考【1】

1.2 安装node.js

下载:

可以下载 node-v0.10.33-x64.msi

安装时直接保持默认配置即可。

2. 配置Github

1.1 建立Repository

建立与你用户名对应的仓库,仓库名必须为【your_user_name.github.io】

1.2 配置SSH-Key

参考【1】

3. 安装Hexo

关于Hexo的安装配置过程,请以官方Hexo【2】给出的步骤为准。

3.1 Installation

打开Git命令行,执行如下命令

$ npm install -g hexo

3.2 Quick Start

1. Setup your blog

在电脑中建立一个名字叫「Hexo」的文件夹(比如我建在了D:\Hexo),然后在此文件夹中右键打开Git Bash。执行下面的命令

$ hexo init

[info] Copying data

[info] You are almost done! Don’t forget to run `npm install` before you start b

logging with Hexo!

Hexo随后会自动在目标文件夹建立网站所需要的文件。然后按照提示,运行 npm install(在 /D/Hexo下)

npm install

会在D:\Hexo目录中安装 node_modules。

2. Start the server

运行下面的命令(在 /D/Hexo下)

$ hexo server

[info] Hexo is running at . Press Ctrl+C to stop.

表明Hexo Server已经启动了,在浏览器中打开 ,这时可以看到Hexo已为你生成了一篇blog。

你可以按Ctrl+C 停止Server。

3. Create a new post

新打开一个git bash命令行窗口,cd到/D/Hexo下,执行下面的命令

$ hexo new “My New Post”

[info] File created at d:\Hexo\source\_posts\My-New-Post.md

刷新,可以发现已生成了一篇新文章 “My New Post”。

NOTE:

有一个问题,发现 “My New Post” 被发了2遍,在Hexo server所在的git bash窗口也能看到create了2次。

$ hexo server

[info] Hexo is running at . Press Ctrl+C to stop.

[create] d:\Hexo\source\_posts\My-New-Post.md

[create] d:\Hexo\source\_posts\My-New-Post.md

经验证,在hexo new “My New Post” 时,如果按Ctrl+C将hexo server停掉,就不会出现发2次的问题了。

所以,在hexo new文章时,需要stop server。

4. Generate static files

执行下面的命令,将markdown文件生成静态网页。

$ hexo generate

该命令执行完后,会在 D:\Hexo\public\ 目录下生成一系列html,css等文件。

5. 编辑文章

hexo new “My New Post”会在D:\Hexo\source\_posts目录下生成一个markdown文件:My-New-Post.md

可以使用一个支持markdown语法的编辑器(比如 Sublime Text 2)来编辑该文件。

6. 部署到Github

部署到Github前需要配置_config.yml文件,首先找到下面的内容

Deployment

Docs:

deploy:

type:

然后将它们修改为

Deployment

Docs:

deploy:

type: github

repository: git@github.com:zhchnchn/zhchnchn.github.io.git

branch: master

NOTE1:

Repository:必须是SSH形式的url(git@github.com:zhchnchn/zhchnchn.github.io.git),而不能是HTTPS形式的url(),否则会出现错误:

$ hexo deploy

[info] Start deploying: github

[error] is not a valid repositor URL!

使用SSH url,如果电脑没有开放SSH 端口,会致部署失败。

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

NOTE2:

如果你是为一个项目制作网站,那么需要把branch设置为gh-pages。

7. 测试

当部署完成后,在浏览器中打开() ,正常显示网页,表明部署成功。

8. 总结:部署步骤

每次部署的步骤,可按以下三步来进行。

hexo clean

hexo generate

hexo deploy

9. 总结:本地调试

1. 在执行下面的命令后,

$ hexo g 生成

$ hexo s 启动本地服务,进行文章预览调试

浏览器输入,查看搭建效果。此后的每次变更_config.yml 文件或者新建文件都可以先用此命令调试,尤其是当你想调试新添加的主题时。

2. 可以用简化的一条命令

hexo s -g

3.3 命令总结

3.3.1 常用命令

复制代码

hexo new “postName” 新建文章

hexo new page “pageName” 新建页面

hexo generate 生成静态页面至public目录

hexo server 开启预览访问端口(默认端口4000,’ctrl + c’关闭server)

hexo deploy 将.deploy目录部署到GitHub

hexo help 查看帮助

hexo version 查看Hexo的版本

复制代码

3.3.2 复合命令

hexo deploy -g 生成加部署

hexo server -g 生成加预览

命令的简写为:

hexo n == hexo new

hexo g == hexo generate

hexo s == hexo server

hexo d == hexo deploy

4 配置Hexo

4.1 配置文件介绍

下面的各个部分的介绍,请直接参考【3】。

1. 默认目录结构介绍

2. _config.yml配置文件介绍

NOTE:在修改_config.yml配置文件时,按照【3】的介绍进行修改后,重新 hexo clean 或者hexo deploy时,可能会出现如下错误:

复制代码

$ hexo clean

[error] { name: ‘HexoError’,

reason: ‘can not read a block mapping entry; a multiline key may not be an imp

licit key’,

mark:

{ name: null,

buffer: ‘ Hexo Configuration\n Docs:

tml\n Source: \n\n Site\ntitle: Zhchnchn\nsubt

itle: Coding on the way\ndescription: Zhchnchn\’s blog\nauthor: Zhchnchn\nemail:

115063497@qq.com\nlanguage:zh-CN\n\n URL\n If your site is put in a subdirect

……

,

position: 249,

line: 12,

column: 0 },

message: ‘Config file load failed’,

domain:

{ domain: null,

_events: { error: [Function] },

_maxListeners: 10,

members: [ [Object] ] },

domainThrown: true,

stack: undefined }

复制代码

我的_config.yml配置文件是一个空行,所以错误肯定在前面,经过对比发现,我前面修改了一下 Site的各项设置,在冒号:后面没留空格导致了该问题,请对比一下下面的区别:

错误的设置:

author:Zhchnchn

email:XXX@qq.com

language:zh-CN

正确的设置:

author: Zhchnchn

email: XXX@qq.com

language: zh-CN

3. 各个主题下的目录介绍(hexo\themes\下的modernist主题为例)

4.2 安装主题

Hexo提供了很多主题,具体可参见Hexo Themes【4】。这里我选择使用Pacman主题。具体设置方法如下【5】

4.2.1 安装

1. 将Git Shell 切到/D/Hexo目录下,然后执行下面的命令,将pacman下载到 themes/pacman 目录下。

$ git clone themes/pacman

2. 修改你的博客根目录/D/Hexo下的config.yml配置文件中的theme属性,将其设置为pacman。

3. 更新pacman主题

cd themes/pacman

git pull

NOTE:先备份_config.yml 文件后再升级

4.2.2 配置

如果pacman的默认设置不能满足需要的话,你可以修改 /themes/pacman/下的配置文件_config.yml来定制。

各个config的含义,请参考【5】中的介绍。

4.2.3 评论框

静态博客要使用第三方评论系统,pacman配置了多说评论系统(/themes/pacman/_config.yml),默认关闭,只要将其打开即可:false-true。直接用你的微博/豆瓣/人人/百度/开心网帐号登录多说,即可发表平评论。

Comment

duoshuo:

enable: true duoshuo.com

short_name: duoshuo short name.

4.2.3 统计

1. pacman配置了google analysis系统(/themes/pacman/_config.yml),默认关闭,将其打开。

2. 需要注册google analysis服务,以获得 跟踪 ID。

如果已有google账户的话,可以直接注册。注册时,需要正确填写 网站的URL。注册成功后,会得到一个跟踪ID,以及一段跟踪代码。

3. pacman配置了google analysis系统,将其打开

Analytics

google_analytics:

enable: true

id: UA-57032437-1 e.g. UA-1766729-8 your google analytics ID.

site: auto e.g. yangjian.me your google analytics site or set the value as auto.

4. 在themes\pacman\layout\_partial\google_analytics.ejs 中,已经将google的跟踪代码添加进来了【3】。

复制代码

% if (theme.google_analytics.enable){ %

script type=”text/javascript”

(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){

(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

})(window,document,’script’,’//’,’ga’);

ga(‘create’, ‘%= theme.google_analytics.id %’, ‘%= theme.google_analytics.site %’);

ga(‘send’, ‘pageview’);

/script

% } %

复制代码

而且会将/themes/pacman/_config.yml中的id和site值读取进来。

5. 如果设置不起作用,请试试在\themes\pacman\layout\_partial\head.ejs文件中最后,/head之前,添加上下面的语句试试。

%- partial(‘google_analytics’) %

4.3 Custom 404页面

1. 网上大多数教程都将其说的极其简单:“直接在根目录下创建自己的 404.html 就可以”。但我却在这儿废了不少时间,究其原因是大家觉得太简单而说的不够明白。“根目录下”指的不是Hexo目录下,而是Hexo/source目录下。

2. 404.html的内容可以设置为下面的内容【6】(NOTE: _config.yml中的permalink_defaults属性不需要修改)。

复制代码

layout: default

html

head

meta charset=”UTF-8″ /

title404/title

/head

body

script type=”text/javascript” src=”” charset=”utf-8″/script

/body

/html

复制代码

也可以简化为这一行:

script type=”text/javascript” src=”” charset=”utf-8″/script

4.4 安装插件

4.4.1 sitemap插件

1. 可以将你站点地图提交给搜索引擎,文件路径\sitemap.xml。

2. 安装

$ npm install hexo-generator-sitemap

3. 启用,修改Hexo\_config.yml,增加以下内容

复制代码

Extensions

Plugins:

– hexo-generator-sitemap

sitemap

sitemap:

path: sitemap.xml

复制代码

4. 使用方法

(1)访问 ,即可看到站点地图。

(2)那么怎么将它显示在页面中呢【7】?

可以修改themes/pacman(也就是你正在使用的那个theme)下的 _config.yml,在 menu 节点下添加下面的内容(下面要介绍的RSS插件也同样)

menu:

Home: /

Archives: /archives

Rss: /atom.xml

Sitemap: /sitemap.xml

修改后的效果如图所示:

5. 如何向google提交sitemap

Sitemap 可方便管理员通知搜索引擎他们网站上有哪些可供抓取的网页。向google提交自己hexo博客的sitemap,有助于让别人更好地通过google搜索到自己的博客。

如何向google提交sitemap,请参考【8】。

6. 升级插件

$ npm update

7. 卸载插件

$ npm uninstall hexo-generator-sitemap

4.4.2 feed插件

1. RSS的生成插件,你可以在配置显示你站点的RSS,文件路径\atom.xml。

2. 安装

$ npm install hexo-generator-feed

3. 启用,修改Hexo\_config.yml,增加以下内容

复制代码

Extensions

Plugins:

– hexo-generator-feed

– hexo-generator-sitemap

Feed Atom

feed:

type: atom

path: atom.xml

limit: 20

复制代码

4.使用方法

参见sitemap插件介绍

5. 优化Hexo

5.1 添加“Fork me on Github” ribbon

给blog主页添加一个“Fork me on Github”的绶带(ribbon)【9】,比如选择了红色的ribbon,将相应代码复制到Hexo正在使用的theme下layout.ejs中。比如我使用的pacman theme,那么将下面的代码(注意将you改为你自己的github上的注册名)

a href=””img style=”position: absolute; top: 0; left: 0; border: 0;” src=”” alt=”Fork me on GitHub” data-canonical-src=””/a

粘贴到 themes\pacman\layout\layout.ejs中,放置在 最后,标签/body之前即可。

6 其他

6.1 中文乱码

在md 文件中写中文内容,发布出来后为乱码,原因是md的编码不对,将md文件另存为“UTF-8”编码的文件即可解决问题。

References

【1】Windows下Git安装指南()

【2】Hexo ()

【3】hexo你的博客()

【4】Hexo All Themes()

【5】Pacman主题介绍()

【6】hexo添加404页面()

【7】如何搭建一个独立博客——简明Github Pages与Hexo教程()

【8】如何向google提交sitemap(详细)()

【9】GitHub Ribbons()

hexo搭建部署到gitee(基础教程)

hexo部署到github和部署到gitee都差不多,这里选择gitee

在 git Bash Here 中输入下面的两个命令进行配置

打开 git Bash Here 输入以下命令:

然后一直回车,若出现 Overwrite (y/n)? ,则输入 y ,若没有,则一直回车。结束后你的 ssh 就生成了,我的自动生成路径是: C:\Users\dell\.ssh ,在 .ssh 中有两个文件 id_rsa (私人密钥)和 id_rsa.pub (公共密钥),这里我们选择 id_rsa.pub 公共密钥。 id_rsa.pub 用记事本打开,复制

先随便创建一个空的文件夹,如:我创建的文件夹:D:\blog 然后在 git 中进入到 D:\blog 目录下。

开始安装hexo,Hexo将会在我的 D:\blog 文件夹中新建所需要的文件。

hexo g 之后出现 public 文件夹和 db.json

这里会出现 网址,把它复制下来到浏览器打开,就可以了。

在 gitee 前面创建的仓库中,复制SSH。

最后在 git 继续执行下面的命令行,部署到gitee中,

tip:每次修改完配置,都要保存,然后执行hexo clean和hexo g及 hexo d

我的博客:

hexo+github博客搭建与备份教程(详细篇)

来自肥宅的小乐趣,带你玩转hexo自建博客,生活还是需要装一下的嘛:)。

官网 :

关于hexo,如官网的一句话介绍,

正如上面的介绍,hexo会在本地生成一个静态html页面,为了让别人看到我们的博客,我们就需要将其推到远端–服务器。

那么github就提供给我们一个免费的仓库,对于新人练手是再好不过了。当然,也可以购买属于自己的域名,让更多的朋友看到你的博客。话不多说,让我们开始吧!(作者使用的是mac os系统,其他系统也类似)

mac用户推荐使用 Homebrew

笔者安装的版本为v12.6.0

安装hexo需要依赖node.js的 npm 的包管理器,由于国内镜像源速度很慢,为了避免出错,所以在使用之前一般是利用 npm 来安装 cnpm , cnpm 为淘宝的镜像源。

至此,我们hexo的博客搭建初步完成了。 INFO Start blogging with Hexo!

若不存在,请进行下一步(存在,请跳过创建步骤)

输入后按回车,然后会提示输入密码,可以按回车设为空。之后SSH就生成了,下图所示:

4. 检验SSH Key

执行yes,若出现下例,则表示配置成功。

5. 设置用户信息

6. 本地博客部署至Github

终端 myblog 目录下,使用 vim 打开 _config.yml ,

滑动至最底部,如图,编辑 deploy 节点,

type: git

repo: git@github.com:codehory/codehory.github.io.git

branch: master

注:1.冒号后有空格 2. repo 一行为新建仓库的SSH地址,打开新建仓库就能看见

输入完毕,按 esc , :wq 保存退出。

7. 安装部署插件

在 myblog 目录下,

8. Deploy to Github

至此,恭喜,完成全部部署,在网址栏输入: yourusername.github.io 就能看到你的初步博客啦!( yourusername 为你github用户名)

在 myblog 目录下,新建一篇博客,

在本地博客的 source-_posts 路径下看到新建的文章,是md格式的,使用markdown文本编辑器进行编辑即可。

编辑完成之后,执行以下命令,即可更新博文,

为了继续满足我们深入骨髓的DIY之心,换一个自己喜欢的主题也是必不可少的环节。Github上有很多眼花缭乱的主题,去选一个自己喜欢的吧!

本文例程使用的是:

在 myblog 目录下,用 vim 打开 _config.yml ,

可以修改 title,subtitle,description,keywords,author 等内容,这些属性依赖于你选择的主题。

输入完毕,按 esc , :wq 保存退出。

menu 用来设置你博客的分类,标签等。

subnav 为你的社交媒体的链接,如github,微博等。

用github当图床

头像 更换:在 myblog 目录下的 source 文件下创建 img 文件,将图片保存在其中。我们通过部署生成,把图片放到 github 上,通过链接找到。

例如:本文将一张 timg.jpeg 的图片存放到 myblog/source/img/ 下,那么我们可以通过之前生成的链接,如 ,进行图片的插入。

还有许多诸如此类的设置,各自进去修改吧,同样的操作,保存退出。

最后来看看我们的博客吧,还不错吧:

由于博客是在本地生成的,如果更换电脑,那我们是不是就不能用这个博客了?方法总比问题多,我们可以利用 github 来备份博客的文件和数据。

第一次备份完毕,以后的备份,只需进行如下操作:

这样备份完毕后,我们在另一台电脑上,只需 git clone 一下就行了。

说长不长,说短不短,一通操作下来,不知你是否成功了呢?作者只是抛砖引玉,带你入门,之后的进阶过程,还望各位继续探索,玩转hexo。欢迎在评论区展示下你们的成果咯,让作者也学习学习,哈哈。同样,如若有任何纰漏或者相关问题,请在评论区留言吧!感谢各位观看!See you~

Hexo 教程:Hexo 博客部署到腾讯云教程

下面开始正式讲解如何部署。

前期需要准备:

顺便说下我的服务器环境:

如果此时能查看到 git 的版本号,说明我们已经安装成功了。

然后,执行如下命令:

刚才这一步主要创建一个裸的 git 仓库。

到这里,我们的 git 仓库算是完全搭建好了。下面进行 Nginx 的配置。

能够正常获取以下欢迎页面说明Nginx安装成功。

至此,服务器端配置就结束了。接下来,就剩下本地 hexo 的配置更改了。

参考资料:

本文来源:https://www.yuntue.com/post/127031.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注