中企动力 > 头条 > 搭建自己的博客网站

网站性能检测评分

注:本网站页面html检测工具扫描网站中存在的基本问题,仅供参考。

搭建自己的博客网站

手把手搭建个人博客(图文教程) 营销视频课程

img

叶兰

关注

本文系投稿,作者:illgo

知音专栏

程序员的出路

写程序时该追求什么,什么是次要的?

如何准备Java初级和高级的技术面试

算法的力量,李开复聊算法的重要性

搭建个人博客

首先我们谈一谈搭建个人博客必要性,个人认为在学习过程中,被动接受知识对你的提高是轻微的。比如你看网课学习,在听老师讲解的时候感觉简单易懂,代码逻辑明了清晰,当自己敲代码的时候,却无从下手,这也属于眼高手低的范畴。

当自己主动学习,主动思考其效率和对个人的提升无疑是高于被动接受的。然而使你提高最大的是主动说出自己认知,把自己的知识和理解传达给他人,这种方式是对你提升无疑是最显著的。

可见搭建个人博客是非常有必要的,很多读者很早就要求我发一篇搭建个人博客的文章,由于个人时间愿意本来想直接转载,但是在自己实际操作中遇到很多坑,浪费不少时间,都是把主要步骤给出且时间久远,没有详细的图文配合。

最终成果:

PC端:

移动端:

一. 前言

本篇文章将会使用最初始的虚拟机安装崭新的系统(Windows 7)和DigitalOcean购买的服务器(CentOS7.5)作为示例,注意并不是让大家在虚拟机上搭建,为了模拟崭新的环境,作者采取虚拟机的方式,你们直接在个人电脑操作即可。

本文的特点是细节多,想到什么补充什么,因此,大家碰到问题时,可以通过细节上的不同找到问题所在.

本篇文章的受众:

极客,想拥有一个漂亮的博客,想快速了解,但不想把时间花在由于细节导致的各种问题上.只是想快速拥有一个在自己服务器上的博客的朋友.二. 博客框架的选择

如果你是我所说的本篇文章的受众,当你要搭建一个博客时,你绝不会想自己从头到脚写一个框架出来.我在这里向大家介绍几款流行的Blog框架:

Jekyll (https://jekyllrb/)hugo(http://gohugo.org/)django(https://djangoproject/)hexo(https://hexo.io/)这里我考虑了一下,并没有将需要我们自己管理数据库的重型CMS(如:WordPress等)纳入.选择的标准有什么呢?

美观程度系统需求搭建难度可扩展性插件提供文档是否全面假如你是python学习者,请选择django,这几乎是每个学习python的小伙伴的必经之路.本篇文章我选择的是Hexo,主要是它拥有我最喜欢的主题NeXT,满足了我最大的需求:美观.

如果你也和我一样美观是第一位,请点开每个框架的官网,找到他们的Theme下的示例,找出你最喜欢的即可.那么,我们将会从Hexo开始,其他框架的请参照具体官网文档,和他们的GitHub issues.

注: 和Hexo官网的Getting Started并不冲突,本文从零开始,全程截图,与官方文档互为补充.

三. Hexo介绍

Hexo 特点

支持Markdown: 支持Markdown意味着你可以把经历从排版中解放出来.轻量: 无需拥有后台及数据库,专心写好你的文章一键部署: 可以通过Git或者ftp来将生成的静态页面部署到服务器或者主机空间中插件丰富: 丰富的插件可以满足你的各种需求.Hexo的工作机制

Hexo基于Node.js,将/source文件夹下的资源(文章,图片,模板),按照预定的配置文件,转换成静态页面放置到/public目录下.如果需要预览或者部署,hexo会把public作为web目录处理.具体的细节可以通过实践接下来的步骤,来逐渐明晓.

Node.js和npm

如果您之前接触过Node.js,可以略过此部分.Node.js是一个基于Chrome V8引擎的JavaScript运行环境,为我们的Hexo提供js脚本的运行环境.而npm则是一个JavaScript的包管理工具.主流的很多语言都会有自己的包管理器(们):

PHPComposerRubygemPythonpipeasy_installJavascriptbowernpmyarn包管理器可以帮助你管理依赖,比如我们要装的Hexo以及Hexo插件,Hexo和Hexo插件是其他开发者开发的代码(Package),包管理器可以帮你下载并管理这些代码.

Hexo官网教程中使用的是npm,但是由于网络问题以及便捷性,我选择用yarn来代替,当然,轻度使用的话只是在操作上大同小异.

四. 安装所需环境

注: 以下安装为本机客户端环境安装

安装Node.js

Node.js官网下载最新LTS版本(截至发稿v8.11.1)的Node.js并安装(如果你想同时管理多版本的Node.js请使用nvm)

Yarn官网下载最新版(截至发稿v1.5.1)并安装.

安装过程根据平台不同因人而异,在此略去不表.

在命令行中通过查看版本,确保我们的环境安装成功,并且可执行文件路径添加到了环境变量之中.

安装git

Git - Downloads(https://git-scm/downloads)下载 64-bit Git for Windows Portable ,双击选择依照你个人喜好指定的目录(注意介于权限问题,避免在c:/program files下),我安装在c:/some/git下右键开始(windows 10)-搜索,输入环境变量,编辑系统环境变量.

3. 选择环境变量

4. 在系统变量中选择Path点击编辑

5. 在末尾加上分号,然后将你安装目录下,git.exe所在路径填入(Windows 10更加简便,不再赘述)

6. 新开一个终端,然后查看git命令是否生效

7. 设置git设置本地用户的信息,引号内随意填

git config --global user.name "illgo"git config --global user.email "i@illgo"

安装Hexo

在这一步,我们通过Yarn来全局安装Hexo.在这里解释Yarn(npm相同)全局安装和本地安装的区别:

全局安装会把package存放在用户目录指定的目录下,本地安装则是存放在当前项目的node_module目录中.

全局安装使我们的二进制执行文件在操作系统内全局可用,比方说,命令行下输入命令即可运行.本地安装则是作为依赖供项目调用.我们安装hexo需要作为一个工具在命令行下可以直接运行,所以采用全局安装;而像hexo依赖的插件则可以在hexo项目目录下本地安装:

yarn globaladd hexo

如图即为安装成功!

五. 使用Hexo

你需要熟悉并修改两个配置文件

Hexo配置文件:myblog/_config.yml主题配置文件: myblog/themes/next/_config.yml创建站点目录

选择一个目录作为hexo站点目录,我选择在桌面新建一个myblog目录,作为hexo目录.

hexo init

安装主题NexT

在你的hexo站点目录下

git clone https://github/iissnan/hexo-theme-next themes/next

启用主题

用任意编辑器打开Hexo配置文件长成这样:

Ctrl + F 搜索 theme

theme: next

测试

hexo s --debug

按照提示,在浏览器中输入url,即可查看效果.

Hexo基本配置

我们可以通过Configuration | Hexo来了解_config.yml的基本配置方法.后面我们将会对其进行部分补充.

NexT主题配置

NexT主题的配置可以直接查看其配置文件中的注释,已经很详细了.

六.部署

部署是本文的重点,git部署有两种方式:

部署到自己的服务器上网上流行的GitHub Pages本文讲的是前者,服务器部署.

部署到服务器

我们的大体思路就是:hexo生成静态页面->git提交到git服务器->git服务器通过Hook运行脚本,在www目录下clone Git仓库->呈现页面

以临时创建的Centos 7.5服务器为示例

为SSH连接创建密钥对

由于使用git作为部署,所以无法避免的我们要使用密钥对的方式来连接,而不是口令.

1. 创建SSH密钥对:

打开刚才安装git目录下的git-bash.exe.git-bash已经提供了BASH环境,为了简单和快捷,我们使用这个git-bash作为ssh工具

ssh-keygen-trsa-C "i@illgo"

按照提示他会在当前用户目录下的.ssh目录下生成两个文件:

id_rsa 私钥id_rsa.pub 公钥

2. 在服务器中添加公钥

后将公钥添加到你在Centos的要登录的用户名下的,我们部署采用git用户,按道理应添加到服务器的/home/git/.ssh/authorized_keys文件中.但是本次采用DigitalOcean提供的添加公钥功能,在Web中操作,他会将公钥直接添加到/root/.ssh/authorized_keys中.如果你用其他的云服务器提供商,也会有类似的功能.此过程略去.

以下操作使用ssh连接服务器来操作.

在服务器上安装Web服务器

Hexo会根据你的_config.yml配置的source_dir下的资源文件,在public_dir下生成静态网页,部署这些静态文件.本次在服务器上安装Apache作为web服务器,通过Git和Git hook来部署.

安装Apache

yum -y install httpdsystemctl start httpd

然后访问该服务器的80端口即可看到Apache的测试页面:

在服务器上创建Git服务器

1. 服务器端安装Git

使用root账户

yum install -y git

2. 创建Git用户

useradd gitpasswd git

3. 创建空仓库

创建一个空仓库并把所有权给git用户

mkdir -p /home/git/repos/myblog.gitgit init --bare /home/git/repos/myblog.git

chown -R git:git /home/git/repos/myblog.git/

5. 在web目录下Clone

注意: 提交的用户要对/var/www/html有写权限

git clone /home/git/repos/myblog.git /var/www/htmlchown -R git:git /var/www/html/

4. 设置Git Hook

我们使用Git Hook的目的就是,在Hexo部署时,会把Hexo生成的静态web资源,自动部署到web目录下.我们需要一个post-receivew如下:

#!/bin/bash#判断是不是远端仓库IS_BARE=$(git rev-parse --is-bare-repository)if [ -z "$IS_BARE" ]; thenecho >&2 "fatal: post-receive: IS_NOT_BARE"exit 1fiunset GIT_DIRDeployPath="/var/www/html/"echo"==============================================="cd$DeployPathecho"deploying the myblog web"#git stash#git pull origin mastergit fetch --allgit reset --hard origin/mastertime=`date`echo"web server pull at webserver at time: $time."echo"================================================"

在DeployPath中填入你的www目录,这里我采用Apache Web服务器默认的位置.

在本地计算机中,我们可以利用刚git-bash.exe使用scp工具将这个文件上传到git服务器的hook目录下

配置git部署

添加 hexo-deployer-git 包依赖

yarn add hexo-deployer-git

设置_config.yml中的deploy:

- type: gitrepo: git@159.89.144.28:/home/repo/blog.git

测试

在Hexo站点目录下

hexo g --deploy

访问之前的url就会看到效果了!

七. SEO

关于SEO优化和其它内容我们单独一篇文章讲解,为了方便搜索引擎的检索,我们要尽量使自己文章的路径深度小,Google会收录你的网站,但是百度需要一定的浏览访问。你可以投稿原创文章到此平台,我们会注明你的博客链接,久而久之自己的博客会被收录。

问题记录

deploy的时候出现

mote: error: cannot run hooks/post-receive: No such file or directory

然而我的post-receive是存在且正确的,而且有执行权限.当直接运行post-receive的时候发现错误是这样的:

-bash: /home/git/repos/myblog.git/hooks/post-receive: /bin/bash^M: bad interpreter: No such file or directory

这是因为换行字符的原因,Unix下应该是LF,所以提示的”未找到文件”指的是/bin/bash末尾多了个字符未找到.使用编辑器切换一下换行方式并保存.

Git - remote: error: cannot run hooks/post-receive: No such file or directory报错查看下方链接:

https://stackoverflow/questions/11630433/git-remote-error-cannot-run-hooks-post-receive-no-such-file-or-directory/40355988

八、设置域名

首先去阿里云或者腾讯云购买域名,然后实名认证就可以了。

1. 打开域名管理,点击解析

2. 添加记录,选择 www

3. 记录值为自己服务器的ip地址

4. 输入 wang91

总结

以上便是完成个人博客搭建的教程了,如果你在操作过程中遇到了不懂的问题或者困难,请使用下方询问码,尽量问题说清楚。本来想从网上转载一篇,发现教程都不是面向基础的同学,如果搭建成功,请打赏原作者,原创不易,多多支持。

部署过程遇到困难可以咨询教程作者:

搭建成功、打赏作者

【Java知音】实时干货推荐栏

红黑树并没有我们想象的那么难(上)算法之单源最短路径稳定排序与不稳定排序算法之广度优先搜索

搭建属于自己的自媒体博客网站的基本条件 推广视频课程

img

梨落

关注

那么如何用WordPress程序来搭建自己的自媒体博客网站,首先就需要一台能运行PHP语言的虚拟主机和一个MySQL数据库。

虚拟主机是什么?有什么作用?

虚拟主机有两个最基本的功用:存放网站的系统程序源码和提供网站正常运行的环境。这里说的虚拟主机,其实就是一个连接公网的服务器,24小时都在运作,服务器的硬盘可以存放网站文件;在服务器中安装一个操作系统和语言环境,就可以运行一个网站了。

这就是我最近搭建好的博客网站的首页界面后台登陆界面。

怎样选择合适的主机?

主机分为Windows主机 和 Linux主机,区别在于支持的语言环境,Windows主机支持的语言多些, Linux主机通常只支持PHP语言。很多刚接触建站的朋友,肯定会毫不犹豫地选择Windows主机,但是,我更加推荐使用Linux主机来搭建WordPress。为什么呢?

因为Linux主机的PHP环境更好有利于高效运行WordPress等PHP的程序系统,比如对伪静态的支持、对中文链接的支持,对其他WordPress所需函数的支持更加完美,运行更加流畅。

如果你使用windows主机,你就会发现,运行Wordpress系统会比较慢,而且通常不能完美支持伪静态,而且如果网址中有中文的话,就会出现404错误页面,有时候还没有办法使用一些插件……虽然有些问题可以通过修改配置勉强实现,但是对于一个刚接触的新手来说,肯定会头疼的!

所以,想要用好WordPress,选择Linux主机才是正确之举!!

但是虚拟主机还分为国内主机和国外主机,国内主机需要ICP备案才能访问,国外主机不备案也能访问。然而主机备案是比较麻烦的一件事,等待时间也比较长,所以新手的话我推荐国外主机,我使用的就是香港主机。

什么是MySQL数据库?干什么用?

MySQL数据库是用来存储PHP程序的数据信息的,比如Wordpress的一些配置信息、文章数据等等都是存储在MySQL数据库的。通常,我们购买的的主机都是安装了PHPMyadmin程序的。

搭建WordPress需要多大空间和数据库?

新手搭建博客的话,可以选择一个 200M大小,每月不限流量的Linux主机就行,这样的国外主机价格也比较便宜。再加上一个域名四五十元,一般一两百元左右就可以搭建你自己的独立网站了!

如果你目前只是想先学习一下WordPress,还没打算做网站的话,那你也可以在自己的电脑里安装PHP环境程序,本地搭建WordPress程序,这样你就不用花钱也能体验做网站了!

今天就写到这里了,明天再接着往下讲......

搭建一个完全属于自己的博客网站应该如何下手,科普小白建站 推广视频课程

img

尔岚

关注

有很多朋友问我,如何动手搭建一个完全属于自己的博客网站,该如何下手 要花多少钱需要做那些准备。

下面我就把搭建一个WordPress博客的过程讲一下,仅针对纯白读者,勿喷,谢谢。

准备工作:

一:域名注册

找个域名服务商注册个域名 ,域名是安年收费的

各个服务商价格略有几块的差异,不过基本差不出10块钱去,选那个就看你们自己了。

注册域名一般域名尽量要短一些,然后含义通俗易懂,尽量不要数字和字母混排,主要还是好记为主。

二:购买虚拟主机或者服务器

虚拟主机或者服务器的区别

虚拟主机是配置好环境的空间给你用,分配一定量的服务器资源给你

服务器就要自己配置了,比如我们用WordPres ,就要配置PHP+MySql的web环境。服务器可以做多个网站,而虚拟主机就只能做一个。

想省事简单的话就用虚拟主机,想有所提升,对以后网站发展有提升空间的话就服务器。

购买虚拟主机推荐 ,比如阿里云,腾讯云,百度云,美橙互联(主要还是虚拟主机)都可以

现在虚拟主机这几家最实惠是百度云 近期有活动99(2G网页空间 128MB内存 1000MB数据库 1Mbps独享带宽)

真是相当的便宜了,最一个网站200块搞定了。

不过阿里云,腾讯云,百度云 还是主要做云服务器的,有兴趣觉的也可以买一个入门的服务器用。(配置环境现在也有很多易用的主机面板,安装也很简单)

一个入门的服务器阿里云服务器330块也就搞定了。

域名解析

去域名管理里做域名解析,把让我们的域名和虚拟主机绑定到一块,好一打域名就是我们虚拟主机里的内容。

域名解析图示:记录值就是添我们虚拟主机的IP地址, 主机名就是我们域名的前缀,如www。

关于TTL值 我有文章做过介绍,想了解的可以去看一下。域名解析里的TLL值代表什么呢?该如何设置?

还在虚拟主机里绑定域名,这个都是双向的,要么域名解析也不会生效的。

一般域名生效时间要1到2个小时,也有几分钟的就好。主要看你的网了。

三:博客系统

本文用使用比较广泛的WordPress做演示,当然如果使用typecho,emlog,Z-Blog等(有时间我再做一个详细的博客系统推荐)

博客搭建: 把WordPress的代码传到虚拟主机就可以安装了。

请参考这个GIF动态教程如何安装WordPres?

到这里我们的博客就搭建完成了。安装的时间可能会遇到问题,可以给我留言交流,想知道如何做网站就关注我吧,我会定期分享一些建站教程和项目案例的。

如何搭建属于自己的个人博客网站 行业视频课程

img

瞿惜儿

关注

从很久以前就有粉丝问浪哥怎么搭建个人博客,怎么搭建一个个人博客网站呢,其实搭建一个博客还是挺简单的,一个网站的建立无非就是:域名-空间-程序这几样组成的,只要完成了这几点你就可以搭建一个网站哦!

域名注册

我们搭建自己的博客的时候是不是得有一个自己的网站的域名了,首先我们先确定好自己网站的域名,建议长度在6位数这类的,这样容易好记一些;想好域名后我们就去找一些域名注册公司注册就行了,需要注意的是后辍一定要选择主流类型:”com cn net org“这几种其中的一个或者多个。其余的都就不要选了。

空间购买

注册好域名后,我们就去买一个放网站程序的空间,可以是ASP的也可以是PHP的建议大家选择PHP的这样安全一些。前期我们的网站流量都不大所以买一个空间就行了。流量比较大的时候在换成服务器这类的。一般我们都是购买国内的空间,如果嫌麻烦不想备案就买香港的。

域名备案

在国内不管你做什么网站都得备案网站,建议大家备案一下。如果大家使用的是国外的服务器或者香港的服务器或空间。可以不用备案,国内的不备案也就不能够访问网站,这点我们得知道。

程序选择

我们搭建一个博客网站是不需要一个程序呢?那是肯定的。现在博客程序流行的有三种:“WordPress ZBlog Emlog ”,它们各有各的优点和缺点,大家喜欢哪一个选择好就行了。建议大家用ZBlog !

网站安装

选择好博客程序后。我们把下载下来的程序包上传到网站的根目录,然后把域名解析到空间上(*空间也要绑定域名),然后访问并且安装博客程序。安装完成后基本上就完成了,我们也只需要起一个比较好的网站名称设置好一些栏目。有能力的可以自己写一个博客主题,不会的话自己用免费的或者买一个。

我觉得搭建一个网站不难,重点是不好推广。所以大家得注重网站内容质量和推广!

手把手搭建个人博客(图文教程) 推广视频课程

img

陌路

关注

本文系投稿,作者:illgo

知音专栏

程序员的出路

写程序时该追求什么,什么是次要的?

如何准备Java初级和高级的技术面试

算法的力量,李开复聊算法的重要性

搭建个人博客

首先我们谈一谈搭建个人博客必要性,个人认为在学习过程中,被动接受知识对你的提高是轻微的。比如你看网课学习,在听老师讲解的时候感觉简单易懂,代码逻辑明了清晰,当自己敲代码的时候,却无从下手,这也属于眼高手低的范畴。

当自己主动学习,主动思考其效率和对个人的提升无疑是高于被动接受的。然而使你提高最大的是主动说出自己认知,把自己的知识和理解传达给他人,这种方式是对你提升无疑是最显著的。

可见搭建个人博客是非常有必要的,很多读者很早就要求我发一篇搭建个人博客的文章,由于个人时间愿意本来想直接转载,但是在自己实际操作中遇到很多坑,浪费不少时间,都是把主要步骤给出且时间久远,没有详细的图文配合。

最终成果:

PC端:

移动端:

一. 前言

本篇文章将会使用最初始的虚拟机安装崭新的系统(Windows 7)和DigitalOcean购买的服务器(CentOS7.5)作为示例,注意并不是让大家在虚拟机上搭建,为了模拟崭新的环境,作者采取虚拟机的方式,你们直接在个人电脑操作即可。

本文的特点是细节多,想到什么补充什么,因此,大家碰到问题时,可以通过细节上的不同找到问题所在.

本篇文章的受众:

极客,想拥有一个漂亮的博客,想快速了解,但不想把时间花在由于细节导致的各种问题上.只是想快速拥有一个在自己服务器上的博客的朋友.二. 博客框架的选择

如果你是我所说的本篇文章的受众,当你要搭建一个博客时,你绝不会想自己从头到脚写一个框架出来.我在这里向大家介绍几款流行的Blog框架:

Jekyll (https://jekyllrb/)hugo(http://gohugo.org/)django(https://djangoproject/)hexo(https://hexo.io/)这里我考虑了一下,并没有将需要我们自己管理数据库的重型CMS(如:WordPress等)纳入.选择的标准有什么呢?

美观程度系统需求搭建难度可扩展性插件提供文档是否全面假如你是python学习者,请选择django,这几乎是每个学习python的小伙伴的必经之路.本篇文章我选择的是Hexo,主要是它拥有我最喜欢的主题NeXT,满足了我最大的需求:美观.

如果你也和我一样美观是第一位,请点开每个框架的官网,找到他们的Theme下的示例,找出你最喜欢的即可.那么,我们将会从Hexo开始,其他框架的请参照具体官网文档,和他们的GitHub issues.

注: 和Hexo官网的Getting Started并不冲突,本文从零开始,全程截图,与官方文档互为补充.

三. Hexo介绍

Hexo 特点

支持Markdown: 支持Markdown意味着你可以把经历从排版中解放出来.轻量: 无需拥有后台及数据库,专心写好你的文章一键部署: 可以通过Git或者ftp来将生成的静态页面部署到服务器或者主机空间中插件丰富: 丰富的插件可以满足你的各种需求.Hexo的工作机制

Hexo基于Node.js,将/source文件夹下的资源(文章,图片,模板),按照预定的配置文件,转换成静态页面放置到/public目录下.如果需要预览或者部署,hexo会把public作为web目录处理.具体的细节可以通过实践接下来的步骤,来逐渐明晓.

Node.js和npm

如果您之前接触过Node.js,可以略过此部分.Node.js是一个基于Chrome V8引擎的JavaScript运行环境,为我们的Hexo提供js脚本的运行环境.而npm则是一个JavaScript的包管理工具.主流的很多语言都会有自己的包管理器(们):

PHPComposerRubygemPythonpipeasy_installJavascriptbowernpmyarn包管理器可以帮助你管理依赖,比如我们要装的Hexo以及Hexo插件,Hexo和Hexo插件是其他开发者开发的代码(Package),包管理器可以帮你下载并管理这些代码.

Hexo官网教程中使用的是npm,但是由于网络问题以及便捷性,我选择用yarn来代替,当然,轻度使用的话只是在操作上大同小异.

四. 安装所需环境

注: 以下安装为本机客户端环境安装

安装Node.js

Node.js官网下载最新LTS版本(截至发稿v8.11.1)的Node.js并安装(如果你想同时管理多版本的Node.js请使用nvm)

Yarn官网下载最新版(截至发稿v1.5.1)并安装.

安装过程根据平台不同因人而异,在此略去不表.

在命令行中通过查看版本,确保我们的环境安装成功,并且可执行文件路径添加到了环境变量之中.

安装git

Git - Downloads(https://git-scm/downloads)下载 64-bit Git for Windows Portable ,双击选择依照你个人喜好指定的目录(注意介于权限问题,避免在c:/program files下),我安装在c:/some/git下右键开始(windows 10)-搜索,输入环境变量,编辑系统环境变量.

3. 选择环境变量

4. 在系统变量中选择Path点击编辑

5. 在末尾加上分号,然后将你安装目录下,git.exe所在路径填入(Windows 10更加简便,不再赘述)

6. 新开一个终端,然后查看git命令是否生效

7. 设置git设置本地用户的信息,引号内随意填

git config --global user.name "illgo"git config --global user.email "i@illgo"

安装Hexo

在这一步,我们通过Yarn来全局安装Hexo.在这里解释Yarn(npm相同)全局安装和本地安装的区别:

全局安装会把package存放在用户目录指定的目录下,本地安装则是存放在当前项目的node_module目录中.

全局安装使我们的二进制执行文件在操作系统内全局可用,比方说,命令行下输入命令即可运行.本地安装则是作为依赖供项目调用.我们安装hexo需要作为一个工具在命令行下可以直接运行,所以采用全局安装;而像hexo依赖的插件则可以在hexo项目目录下本地安装:

yarn globaladd hexo

如图即为安装成功!

五. 使用Hexo

你需要熟悉并修改两个配置文件

Hexo配置文件:myblog/_config.yml主题配置文件: myblog/themes/next/_config.yml创建站点目录

选择一个目录作为hexo站点目录,我选择在桌面新建一个myblog目录,作为hexo目录.

hexo init

安装主题NexT

在你的hexo站点目录下

git clone https://github/iissnan/hexo-theme-next themes/next

启用主题

用任意编辑器打开Hexo配置文件长成这样:

Ctrl + F 搜索 theme

theme: next

测试

hexo s --debug

按照提示,在浏览器中输入url,即可查看效果.

Hexo基本配置

我们可以通过Configuration | Hexo来了解_config.yml的基本配置方法.后面我们将会对其进行部分补充.

NexT主题配置

NexT主题的配置可以直接查看其配置文件中的注释,已经很详细了.

六.部署

部署是本文的重点,git部署有两种方式:

部署到自己的服务器上网上流行的GitHub Pages本文讲的是前者,服务器部署.

部署到服务器

我们的大体思路就是:hexo生成静态页面->git提交到git服务器->git服务器通过Hook运行脚本,在www目录下clone Git仓库->呈现页面

以临时创建的Centos 7.5服务器为示例

为SSH连接创建密钥对

由于使用git作为部署,所以无法避免的我们要使用密钥对的方式来连接,而不是口令.

1. 创建SSH密钥对:

打开刚才安装git目录下的git-bash.exe.git-bash已经提供了BASH环境,为了简单和快捷,我们使用这个git-bash作为ssh工具

ssh-keygen-trsa-C "i@illgo"

按照提示他会在当前用户目录下的.ssh目录下生成两个文件:

id_rsa 私钥id_rsa.pub 公钥

2. 在服务器中添加公钥

后将公钥添加到你在Centos的要登录的用户名下的,我们部署采用git用户,按道理应添加到服务器的/home/git/.ssh/authorized_keys文件中.但是本次采用DigitalOcean提供的添加公钥功能,在Web中操作,他会将公钥直接添加到/root/.ssh/authorized_keys中.如果你用其他的云服务器提供商,也会有类似的功能.此过程略去.

以下操作使用ssh连接服务器来操作.

在服务器上安装Web服务器

Hexo会根据你的_config.yml配置的source_dir下的资源文件,在public_dir下生成静态网页,部署这些静态文件.本次在服务器上安装Apache作为web服务器,通过Git和Git hook来部署.

安装Apache

yum -y install httpdsystemctl start httpd

然后访问该服务器的80端口即可看到Apache的测试页面:

在服务器上创建Git服务器

1. 服务器端安装Git

使用root账户

yum install -y git

2. 创建Git用户

useradd gitpasswd git

3. 创建空仓库

创建一个空仓库并把所有权给git用户

mkdir -p /home/git/repos/myblog.gitgit init --bare /home/git/repos/myblog.git

chown -R git:git /home/git/repos/myblog.git/

5. 在web目录下Clone

注意: 提交的用户要对/var/www/html有写权限

git clone /home/git/repos/myblog.git /var/www/htmlchown -R git:git /var/www/html/

4. 设置Git Hook

我们使用Git Hook的目的就是,在Hexo部署时,会把Hexo生成的静态web资源,自动部署到web目录下.我们需要一个post-receivew如下:

#!/bin/bash#判断是不是远端仓库IS_BARE=$(git rev-parse --is-bare-repository)if [ -z "$IS_BARE" ]; thenecho >&2 "fatal: post-receive: IS_NOT_BARE"exit 1fiunset GIT_DIRDeployPath="/var/www/html/"echo"==============================================="cd$DeployPathecho"deploying the myblog web"#git stash#git pull origin mastergit fetch --allgit reset --hard origin/mastertime=`date`echo"web server pull at webserver at time: $time."echo"================================================"

在DeployPath中填入你的www目录,这里我采用Apache Web服务器默认的位置.

在本地计算机中,我们可以利用刚git-bash.exe使用scp工具将这个文件上传到git服务器的hook目录下

配置git部署

添加 hexo-deployer-git 包依赖

yarn add hexo-deployer-git

设置_config.yml中的deploy:

- type: gitrepo: git@159.89.144.28:/home/repo/blog.git

测试

在Hexo站点目录下

hexo g --deploy

访问之前的url就会看到效果了!

七. SEO

关于SEO优化和其它内容我们单独一篇文章讲解,为了方便搜索引擎的检索,我们要尽量使自己文章的路径深度小,Google会收录你的网站,但是百度需要一定的浏览访问。你可以投稿原创文章到此平台,我们会注明你的博客链接,久而久之自己的博客会被收录。

问题记录

deploy的时候出现

mote: error: cannot run hooks/post-receive: No such file or directory

然而我的post-receive是存在且正确的,而且有执行权限.当直接运行post-receive的时候发现错误是这样的:

-bash: /home/git/repos/myblog.git/hooks/post-receive: /bin/bash^M: bad interpreter: No such file or directory

这是因为换行字符的原因,Unix下应该是LF,所以提示的”未找到文件”指的是/bin/bash末尾多了个字符未找到.使用编辑器切换一下换行方式并保存.

Git - remote: error: cannot run hooks/post-receive: No such file or directory报错查看下方链接:

https://stackoverflow/questions/11630433/git-remote-error-cannot-run-hooks-post-receive-no-such-file-or-directory/40355988

八、设置域名

首先去阿里云或者腾讯云购买域名,然后实名认证就可以了。

1. 打开域名管理,点击解析

2. 添加记录,选择 www

3. 记录值为自己服务器的ip地址

4. 输入 wang91

总结

以上便是完成个人博客搭建的教程了,如果你在操作过程中遇到了不懂的问题或者困难,请使用下方询问码,尽量问题说清楚。本来想从网上转载一篇,发现教程都不是面向基础的同学,如果搭建成功,请打赏原作者,原创不易,多多支持。

部署过程遇到困难可以咨询教程作者:

搭建成功、打赏作者

【Java知音】实时干货推荐栏

红黑树并没有我们想象的那么难(上)算法之单源最短路径稳定排序与不稳定排序算法之广度优先搜索

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP