AG真人 建立个人博客

日期:2021-03-17 05:10:54 浏览量: 87

经常阅读此官方帐户文章的读者可能知道该教程每月发布一次,并且由于标题图片的文本字体存在版权问题,因此必须将其删除。我今天重新发行了,很抱歉。本教程博客建立在您自己的云服务器上。如果您没有云服务器,则还可以使用GitHub免费建立自己的博客。如果您回复官方帐户“ GitHub”乐鱼体育网凤凰彩票app ,则可以获取视频教程。

身体

首先个人博客搭建,让我们谈谈建立个人博客的必要性。就个人而言,我认为被动接受知识会在学习过程中对您有所改善。例如,当您观看在线课程时,在听老师的解释时,您会感到简单和易于理解。代码逻辑清晰。当您键入代码时,您将无法启动。这也属于高眼力和低手的一类。

积极学习时,积极思考其效率并提高个人水平无疑比被动接受更高。但是,最大的进步就是主动说出自己的知识并将自己的知识和理解传达给他人。对于您来说,这种方式无疑是最大的改进。

可以看出,建立个人博客是非常必要的。许多读者要求我很早就发表一篇有关建立个人博客的文章。因为我愿意重印我的个人时间,所以我遇到了很多陷阱,浪费了我的实际操作时间。时间很多,给出了主要步骤,时间很长,没有详细的图形合作。

应读者的要求,编辑邀请他的朋友们完成本教程。本教程的作者是“ illgo”。您可以单击以阅读原始文本并关注他的博客。中间有很多坑。如果您构建成功,那么我是否忘了回来奖励原作者。如果您不了解这些步骤,则可以在文章末尾询问该教程的作者。

最终结果:

PC端:

image

移动终端:

image

一.前言

本文将以初始虚拟机为例来安装全新系统(Windows 7)和DigitalOcean购买的服务器(CentOS 7. 5))。为了模拟全新的环境,作者采用了虚拟机,您可以直接在个人计算机上进行操作。

当然,我可以选择阿里云或腾讯云,但是为什么选择DigitalOcean购买服务器?主要原因是它很便宜。您可以仅用5美元购买一年的美国服务器。 GitHub认证后,将为学生提供优惠券。但是,购买服务器需要Paypal。购买地址为:

本文的特点是有很多细节,以及您想添加的内容。因此,遇到问题时,可以通过细节上的差异找到问题。

本文的受众

怪胎,我想要一个美丽的博客,我想快速了解,但是我不想花时间在细节造成的各种问题上。

一个只想在自己的服务器上快速建立博客的朋友。

二.选择博客框架

如果我是这篇文章的读者,那么当您想要构建博客时,您永远都不会想要从头到脚编写一个框架。我在这里向您介绍几个流行的博客框架:

Jekyll()

雨果()

django()

hexo()

我在这里考虑过这个问题,并且其中不包含要求我们自己管理数据库的繁重CMS(例如WordPress等)。

选择标准是什么?

审美程度

系统要求

建造困难

可扩展性

提供了插件

文件是否全面?

如果您是python学习者,请选择django,这几乎是每个学习python的伙伴的唯一方法。我之所以选择Hexo,是因为它具有我最喜欢的主题NeXT,可以满足我的最大需求:美观。

如果您像我一样美丽,请单击每个框架的官方网站,在其主题下找到示例,然后找到您喜欢的。然后,我们将从Hexo开始。有关其他框架,请参阅特定的官方网站文档及其GitHub问题。

注意:它与Hexo官方网站上的入门没有冲突。本文从头开始,提供了整个过程的屏幕快照,是对官方文档的补充。

三. Hexo简介

Hexo功能

支持Markdown:支持Markdown意味着您可以从排版中解放经验。

轻巧:不需要后端和数据库,只需专注于撰写文章

一键式部署:可以通过Git或ftp将生成的静态页面部署到服务器或主机空间

丰富的插件:丰富的插件可以满足您的各种需求。

六方工作机制

Hexo基于Node.js,根据预定的配置文件将/ source文件夹中的资源(文章,图片凤凰彩票代理 ,模板)转换为静态页面,并将它们放置在/ public目录中。如果您需要预览或部署,则hexo会将public视为Web目录。通过执行后续步骤,可以逐渐了解具体细节。

Node.js和npm

如果您以前曾经接触过Node.js,则可以跳过此部分。

Node.js是基于Chrome V8引擎的JavaScript运行时环境,它为Hexo提供了js脚本的运行时环境。 npm是一个JavaScript包管理工具。许多主流语言都会有自己的软件包管理器(我们的):

PHP

作曲家

Ruby

宝石

Python

easy_install

JavaScript

鲍尔

npm

纱线

程序包管理器可以帮助您管理依赖项,例如我们要安装的Hexo和Hexo插件。 Hexo和Hexo插件是由其他开发人员开发的软件包。程序包管理器可以帮助您下​​载和管理这些代码。

在Hexo官方网站教程中使用了Npm,但是由于网络问题和便利性,我选择使用yarn来代替。当然,如果使用量很少,则仅在操作上类似。

四.需要安装的环境

注意:以下安装是针对此计算机客户端环境的安装

安装Node.js

从Node.js的官方网站上下载最新的LTS版本(最多v 8. 1 1. 1) Node.js并安装它(如果要在Node.js上管理多个版本的Node.js)。同时,请使用nvm)

从Yarn官方网站下载最新版本(截至发稿时v 1. 5. 1)并安装它。

安装过程因平台而异,因此在此省略。

在命令行上检查版本凤凰彩票app ,以确保成功安装我们的环境并将可执行文件路径添加到环境变量中。

安装git

Git-Downloads(/ downloads)下载适用于Windows Portable的64位Git,双击以根据您的个人喜好指定目录(请注意,存在权限问题,请避免在c:/ program文件下)凤凰体育平台 ,我将其安装在c:/ some / git

右键单击以启动(在Windows 1 0)中进行搜索,输入环境变量,编辑系统环境变量。

image

设置环境变量1

选择环境变量

image

设置环境变量2

在系统变量中选择“路径”,然后单击“编辑”

image

在末尾添加一个分号,然后填写git.exe在安装目录中的路径(Windows 10更方便,将不再重复)

image

设置环境变量4

打开一个新终端,并检查git命令是否有效

image

设置环境变量5

设置git

设置本地用户的信息,随意填写引号

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

安装Hexo

在此步骤中,我们通过Yarn在全局范围内安装Hexo。

在此处说明Yarn(与npm相同)全局安装和本地安装之间的区别:

全局安装会将软件包存储在用户目录指定的目录中,而本地安装将存储在当前项目的node_module目录中。

全局安装使我们的二进制可执行文件在操作系统中全局可用,例如,可以通过在命令行下输入命令来运行它。本地安装被用作项目调用的依赖项。

我们需要将hexo安装为可以直接在命令行上运行的工具,因此我们使用全局安装。依赖hexo的插件可以在hexo项目目录中本地安装:

yarn global add hexo

安装hexo

image

如图所示,安装成功!

五.使用Hexo

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

Hexo配置文件:myblog / _config.yml

主题配置:myblog / themes / next / _config.yml

创建网站目录

选择一个目录作为hexo站点目录,然后选择在桌面上创建一个myblog目录作为hexo目录。

hexo init

初始化十六进制

image

安装主题NexT

在您的hexo网站目录下

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

下载主题

image

启用主题

使用任何编辑器打开Hexo配置文件

像这样成长:

image

配置文件

Ctrl + F搜索主题

theme: next

测试

hexo s --debug

image

image

测试

按照提示进行操作,然后在浏览器中输入网址以查看效果。

image

Hexo基本配置

我们可以通过Configuration |了解_config.yml的基本配置方法。六o我们稍后会添加一些。

NexT主题配置

NexT主题的配置可以直接在其配置文件中查看评论,该文件已经非常详细了。

六.部署

部署是本文的重点。有两种部署git的方法:

部署到您自己的服务器

Internet上流行的GitHub Pages

本文与前者有关服务器部署。

部署到服务器

我们的总体思路是:

Hexo生成一个静态页面-> git提交到git服务器-> git服务器通过Hook运行脚本,并在www目录中克隆Git仓库->显示页面

以临时创建的Centos 7. 5服务器为例

创建用于SSH连接的密钥对

由于使用git进行部署,因此不可避免地必须使用密钥对代替密码进行连接。

创建SSH密钥对:

在刚刚安装的git目录中打开git-bash.exe。 Git-bash提供了一个BASH环境。为了简化和提高速度,我们将此git-bash用作ssh工具

ssh-keygen -t rsa -C "i@illgo.cn"

生成密钥

image

根据提示,他将在当前用户目录下的.ssh目录中生成两个文件:

id_rsa私钥

id_rsa.pub公钥

生成密钥

image

将公钥添加到服务器

将公钥添加到要在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挂钩对其进行部署。

安装Apache

yum -y install httpd
systemctl start httpd

然后访问服务器的端口80以查看Apache测试页:

image

ApacheTest

在服务器上创建Git服务器

在服务器端安装Git

使用root帐户

yum install -y git

创建Git用户

useradd git
passwd git

创建Git用户

image

创建一个空仓库

创建一个空仓库并将所有权授予git用户

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

创建一个Git存储库

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

授权的Git用户

image

在网络目录中克隆

注意:提交用户必须具有对/ var / www / html

的写许可权

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

设置Git Hook

使用Git Hook的目的是在部署Hexo时自动将Hexo生成的静态Web资源部署到Web目录中。

我们需要一个如下的接收后接收器:

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

填写DeployPath中的www目录,这里我使用Apache Web服务器的默认位置。

在本地计算机上,我们可以仅使用git-bash.exe来使用scp工具将此文件上传到git服务器的钩子目录中

image

上传钩子脚本

配置git部署

添加hexo-deployer-git包依赖项

yarn add  hexo-deployer-git

image

在_config.yml中设置部署:

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

测试

在Hexo网站目录下

hexo g --deploy

image

部署成功

访问上一个URL,您将看到效果!

image

部署成功

七. SEO

关于SEO优化和其他内容,我们将在另一篇文章中进行说明。为了方便搜索引擎的检索,我们应尝试使文章的路径深度尽可能小。 Google将包括您的网站,但百度需要一定数量的浏览权限。您可以将原始文章提交到此平台,我们将指示您的博客链接,并且随着时间的推移会包括您的博客。

问题记录

在部署时显示

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

但是个人博客搭建,我的接收后邮件存在,正确且具有执行权限。

直接运行后接收时,我发现错误是这样的:

-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.com/questions/11630433/git-remote-error-cannot-run-hooks-post-receive-no-such-file-or-directory/40355988
八、设置域名
首先去阿里云或者腾讯云购买域名,然后实名认证就可以了。
1. 打开域名管理,点击解析

"text-align:center"> ![image](https://yqfile.alicdn.com/cb12b44ff7a6bcad844bbb9d804851a656e0dbe8.png)

2. 添加记录,选择 www

"text-align:center">![image](https://yqfile.alicdn.com/0db8e2203ff89ef7f1a08fdb18fce3987ae6c1b5.png)

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

"text-align:center">![image](https://yqfile.alicdn.com/b8bc54e194bd48ffe7695070fff01b2f4e2765af.png)

4. 输入 www.wang91.cn

"text-align:center">![image](https://yqfile.alicdn.com/7ee5c9d24e5630c26b5eb3d4a64934cdded42e2f.png)

转载自https://m.aliyun.com/yunqi/articles/615582