既然我想要更新博客,那么就要更新成我想要的样子。 绝对不能随随意意,要不然怎么还是我的博客呢~
讲真,当时我害怕的要死,因为我2019年搭建的博客好歹运营了有一年多一点 然后就是因为数据没有备份到,更新某项东西吧Centos系统弄坏了(抄宝塔家去) 然后搞得我现在每次操作什么事情之前,快照走起
一定要做好备份在进行下一步操作,以防不测
前言我就不说了,像那些Hexo作者是台湾人啊,对中文支持很友好之类的啊,其他Google或者百度一下就出来了。
Windows下访问GitDownload下载页面(已下载可跳过) 由于下载速度可能过慢,这里给网盘下载
这里网盘版本均为2020-08-13下载版本,如版本过旧请官方下载,如无法下载可联系我(版本2.28.0-64)
如果没有,重启一次电脑喵,然后就安装好了 下面安装操作都需要这个git使用,因为原来的CMD可能有点难用。
安装Node.js 下载Node的长期支持版(LTS)版本即可 Node官方网站 然后随意右击打开git bash查询
# 分别输入
node -v
npm -v
由于npm在国内比较慢,所以我们安装淘宝的cnmp镜像提高速度
# 安装指令
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 安装完毕后查询安装是否成功
cnpm -v
然后我们就可以安装hexo了~
后面搭建过程中指令与Linux相同
安装Hexo 安装Hexo就很简单了,因为就几条代码可以搞定的事情
先做区分,在这里讲的是后台搭建,在我这里成为后端(毕竟概念东西我也不是很清楚,反正我这里先称为后端)
由于我们已经安装了cnpm,所以我们下面的操作npm可以替换成cnpm执行,虽然操作时候可能跟npm显示不一样 但是基本原理相同。
请找你存储的地方然后右键Git Bash,不要随便乱点一个文件夹Git Bash,以免后期找不到文件夹。 好比我的在G盘目录下,右键Git Bash生成myblog文件夹
# 安装Hexo
cnpm install -g hexo-cli
# 查看Hexo是否安装成功
hexo -v
上面操作完后,那么hexo就是安装成功了,这个成功不是另一种意义上的成功 然后我们安装Hexo(博客)
# 初始化Hexo,也就是下载Hexo必要程序
hexo init myblog
# 进入文件夹(也就是你hexo init后面的一部分)
cd myblog
# 执行安装
npm install
这样在你的文件夹下基本博客系统已经安装成功了。 启动博客
hexo g
hexo server
然后看见下方出现 http://localhost:4000 代表可以访问了
然后试试访问你的博客吧~
前言我就不说了,像那些Hexo作者是台湾人啊,对中文支持很友好之类的啊,其他Google或者百度一下就出来了。
Linux下载Git
Linux安装git就特别简单了~因为以前的git就是在Linux上面编写的┗|`O′|┛ 嗷~~
#Ubuntu安装方法
sudo apt-get install git
# Centos安装方法
yum -y install git
# 查询安装
git --version
然后查询安装是否成功
安装Node.js
##### Ubuntu安装方法
sudo apt-get install nodejs
sudo apt-get install npm
# 测试是否安装正常,显示 v12.16.1 则为正常
node -v
##### Centos安装方法(保险)
sudo -y install wget
# 安装 Node 版本控制工具(若没有 wget,请安装它)
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
# 请关闭终端重新打开或重新连接终端 再依次执行以下命令(十分重要,不然不能继续操作)
# 重新打开后执行
nvm install 12.16.1
# 使用安装的版本
nvm use 12.16.1
# 测试是否安装正常,显示 v12.16.1 则为正常
node -v
安装国内镜像源cnpm
由于npm在国内比较慢,所以我们安装淘宝的cnmp镜像提高速度
# 安装指令
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 安装完毕后查询安装是否成功
cnpm -v
安装Hexo 安装Hexo就很简单了,因为就几条代码可以搞定的事情
先做区分,在这里讲的是后台搭建,在我这里成为后端(毕竟概念东西我也不是很清楚,反正我这里先称为后端)
由于我们已经安装了cnpm,所以我们下面的操作npm可以替换成cnpm执行,虽然操作时候可能跟npm显示不一样 但是基本原理相同。
请找你存储的地方,可以mkdir创建指定路经文件夹后cd进入。或者Ftps进行创建文件夹操作
# 安装Hexo
cnpm install -g hexo-cli
# 查看Hexo是否安装成功
hexo -v
上面操作完后,那么hexo就是安装成功了,这个成功不是另一种意义上的成功 然后我们安装Hexo(博客)
# 初始化Hexo,也就是下载Hexo必要程序
hexo init myblog
# 进入文件夹(也就是你hexo init后面的一部分)
cd myblog
# 执行安装
npm install
这样在你的文件夹下基本博客系统已经安装成功了。 启动博客
hexo g
hexo server
然后看见下方出现 http://localhost:4000 代表可以访问了
然后试试访问你的博客吧~
现在使用Ctrl+C关闭博客吧 那么上面搭建完毕后基本准备已经完成了,可以正式开始写博客和上传的操作了
然后我们需要搭建个人仓库,用来存放用户访问的数据,也就是你的Hexo文件夹下输入 hexo g 生成的 public 文件夹
这里面就像你搭建静态网页一样,我们用Hexo编写md文件编译后就会输出public的静态网页文件。
我们就要依赖git来自动部署
除非你能做到每次更新后手动上传public,那我没话说
搭建时候看清楚,不要打错字了,对于仓库信息要仔细核对
我搭建时候是本地仓库,因为我不喜欢部署在公开代码的仓库
基本过程
新建仓库 登录Github后,看到New,添加新的仓库
之后创建一个与你用户名相同的仓库,例如下图所示
然后将 Initialize this repository with a README 打上勾,如果你不想先上传一个README.md 最后创建即可
生成SSH添加到Github
git config --global user.name "yourname"
git config --global user.email "youremail"
这里的yourname输入你的GitHub用户名,youremail输入你GitHub的邮箱。这样GitHub才能知道你是不是对应它的账户。 可以用以下两条,检查一下你有没有输对
git config user.name
git config user.email
确认无误后就可以创建SSH了,一路回车按下去就好了(不用设置什么密码)
ssh-keygen -t rsa -C "youremail"
然后SSH密钥就生成成功了,然后可以根据提示来找到.ssh生成的路径(你要找到它哦)
ssh,简单来讲,就是一个秘钥,其中,id_rsa是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。 而后在GitHub的setting中,找到SSH keys的设置选项,点击New SSH key 把你的id_rsa.pub里面的信息复制进去。 采自:zjufangzh的CSDN博文
# 查询是否成功
ssh -T git@github.com
将hexo的public目录下部署在Github 打开Hexo目录下创建的myblog找到文件_config.yml拉到最下面修改下列信息
deploy:
type: git
repo: https://github.com/Name/Name.github.io.git
branch: master
例如:下图所示
然后需要配置deploy-git,不然没有办法部署到github或者gitee上面,以及个人仓库
npm install hexo-deployer-git --save
# 然后更新
hexo clean && hexo g && hexo d
然后稍微过一会,就可以在http://name.github.io网站看到你的博客了~
要不你看Github搭建吧,反正是一样的。同样的东西我就不写两遍了哈
搭建在本地仓库
由于我是在Linux上面搭建,所以这篇教程适用Linux(Centos),Windows用户请酌情尝试,请做好对应备份操作。 * 创建仓库 * 将hexo的public目录下部署在仓库内
创建仓库 安装git
yum -y install git
创建一个git的用户
adduser git
添加证书登录(为了防止每次push都需要输入密码这个操作) 把在在本地创建或者已经拥有的公钥,也就是 ~/.ssh/id_rsa.pub 文件里的内容添加到服务器的 /home/git/.ssh/authorized_keys 文件中,如上所说,添加公钥之后可以防止每次 *push 都输入密码。
初始化 Git 仓库 可以将git仓库放到自定义位置,本次操作是在 /var/repos/myblog.git 目录下的
sudo mkdir /var/repos
cd /var/repos
sudo git init --bare myblog.git
使用 –bare 参数,Git 就会创建一个裸仓库,裸仓库没有工作区,我们不会在裸仓库上进行操作,它只为共享而存在。
配置 git hooks
我们这里要使用的是 post-receive 的 hook,这个 hook 会在整个 git 操作过程完结以后被运行,关于 hooks 的详情内容可以参考这里。
在 blog.git/hooks 目录下新建一个 post-receive 文件
vim /var/repos/myblog.git/hooks/post-receive
在 post-receive 文件中写入如下内容
#!/bin/sh
git --work-tree=/home/www/myblog --git-dir=/var/repos/myblog.git checkout -f
/home/www/myblog 要换成你自己的部署目录,我的配置目录是 /home/www/myblog。 /var/repos/myblog.git 是git仓库的位置。 上面那句 git 命令可以在我们每次 push 完之后,把部署目录更新到博客的最新生成状态。这样便可以完成达到 自动部署 的目的了。
书写后按下Esc+输入:wq保存文件 设置这个文件的可执行权限
chmod +x /var/repos/myblog.git/hooks/post-receive
改变 myblog.git 目录的拥有者为 git 用户
sudo chown -R git:git myblog.git
然后我们需要创建**/home/www/myblog**目录下文件,不然上传时候不会自动创建文件
mkdir /home/www/myblog
禁用 git 用户的 shell 登录权限
出于安全考虑,我们要让 git 用户不能通过 shell 登录。可以编辑 /etc/passwd 来实现
vim /etc/passwd
# 找到此项
git:x:1001:1001:,,,:/home/git:/bin/bash
# 修改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样 git 用户可以通过 ssh 正常使用 git,但是无法登录 shell。 至此,服务器环境的搭建已经基本结束。
将hexo的public目录下部署在仓库内
修改 hexo 目录下的 _config.yml 找到 deploy
deploy:
type: git
repo: git@check.xiaolfeng.xyz:/var/repos/myblog.git
branch: master
repo 的地址为你自己的地址以及 git 仓库目录
最后~我们的 hexo 自动部署已经全部配置好了
开始使用 新建文章来测试
hexo new "post name"
生成 & 部署
hexo clean && hexo g && hexo d
然后就部署完毕了~
Github绑定也很简单,下面是Github的IP,需要在域名DNS服务商那里修改A记录改成下面的IP
# Github的地址
192.30.252.153
192.30.252.154
注意,解析线路选择默认
登录GitHub,进入之前创建的仓库,点击settings,设置Custom domain,输入你的域名 XXXXXX.XXX
然后在你的博客文件source中创建一个名为CNAME文件,不要后缀。写上你的域名(跟上图一样)。
最后,在git bash中,输入
hexo clean && hexo g && hexo d
过不了多久,再打开你的浏览器,输入你自己的域名,就可以看到搭建的网站啦! 对于网站不安全之类的东西,请百度解决,这里不做详细解释,因为我不是用Github来搭建这个博客的。
如果你使用我的方法来搭建私有仓库的话,那么会十分简单,而且操作不用那么复杂
本项目搭建于Centos(Linux),Windows用户请酌情复制,建议备份后按需执行
还是一样需要绑定DNS记录,这个绑定到你的私有仓库的服务器就好了 然后在这里建议小白安装宝塔之类的,一件操作不香嘛。 宝塔安装 宝塔官网 首先在在服务器输入下面指令开始安装宝塔
# Centos安装指令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
# Ubuntu安装指令
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
后面等说是否继续安装按下 y 然后执行安装。 然后我们去泡一杯咖啡等待一下吧,如果是大型服务商(或者配置好的服务器主机)那么,应该会特别快,大概一分钟就好了
部分服务商可能默认没有开放防火墙,注意看需要的端口开放哦
输入密码后进去,就会选择叫你安装一个LAMP等安装,随意选择哪一个都可以,然后一键安装 稍后就是漫长(看服务器配置)的等待了。
安装完毕后,点击网站→添加站点[绿色标识]→输入你之前DNS服务商解析的域名,然后修改根目录
根目录请修改成,你自己的部署目录 详情见上搭建私有仓库(Danger危险符号)标识
然后创建即可,不需要创建FTP和数据库,hexo不需要用到数据库。 然后输入域名尽情访问吧~
这是我搭建博客时候也注意到了,但是没办法我想换就必须换。 就是你的 阅读量 和 评论 在进行博客迁移的时候不会过来。
怎么说呢,就是Hexo不自带评论,评论是依赖外部引擎。 所以嘛,博客的所有评论就会消失不见。
然后就是阅读量,阅读量在导出Wordpress的xml文件不带,而且导入不支持数据库导入,所以根本没有办法导入阅读量 唯一的办法,自己刷你要是有时间的话,反正我是没有,还不如等你们重新慢慢看一遍,哈哈哈屮。
其中还有百度自动收录,Google自动收录我还没玩明白,暂时没有添加进去。 也就是说百度和Google能搜到的,还没有下架处理的网站都是404,找不到网页。 因为博客的链接方式也全变了。 目前链接采用的是 www.xiaolfeng.xyz + ID + .html
还有CDN方式,原来我的CDN部署的是Nginx的SSL密钥。而服务器部署的是Apache的密钥,在正常访问原来的Wordpress没有什么问题,然后到Hexo就会发现证书不一致 判定为不安全。 所以就把服务器的Apache换成了Nginx也就是LNMP环境。 然后基本没有什么问题了。