惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
GbyAI
GbyAI
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
B
Blog
博客园 - 叶小钗
V
Visual Studio Blog
小众软件
小众软件
阮一峰的网络日志
阮一峰的网络日志
博客园 - 聂微东
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
博客园 - Franky
V
V2EX
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
IT之家
IT之家
T
The Blog of Author Tim Ferriss
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
Check Point Blog
N
Netflix TechBlog - Medium
博客园 - 【当耐特】

愆伏

vue feedback 指令开发 通过webpack对css压缩后所引起的重名问题 NPM 撤回已发布的版本 昆虫有趋光性吗 数组转成字符串(css 属性) 关于grid布局的一些思考 阿里云和腾讯云网站字体族对比 Vue组件抛事件和Function prop的差别 Vue 事件参数传递 Vue Data里面下划线命名无效并报错 使用sublime中的正则处理数据格式 通过nodejs创建目录与文件 macOS 下npm run dev 无法局域网访问 mac 下使用ssh访问非22端口的gitlab 世界是平的,在科学上网之后 使用sublime text3和Markdown来写博客 如果非要给一个标题,那就是2014年非工作总结 不专业呢,就别捣乱 对知乎大号怒撤事件的一点看法 拒绝SB思维 嘀嘀与快的的商业博弈 关于收藏夹功能的思考 你居然都不用微信 一个英语培训机构的外呼电话 智商是硬伤就无解了 扁鹊三兄弟 竖子不足与谋 美丽说、蘑菇街今天一定开了好几个小时的会 个人独立博客会死掉吗? iPad作画
低成本打造独立博客之高阶篇
tortorse · 2018-10-09 · via 愆伏

上一篇 低成本打造个人独立博客 主要介绍了博客的搭建过程,适合从零开始的朋友。

我周围有一些曾经写过博客的朋友,希望和我一样从 wordpress 迁移到 Github Pages。这样的情况需要注意到:

  1. 需要保留原有的博客文章
  2. 需要保留原有的域名

那么我们就分以下几个部分来逐一说明

1. 本地备份

上次的文章都是在 Github 上操作,其实也完全可以本地操作完了以后再部署到服务器上。你可以认为 Github Pages 就是一个服务器。由于本次迁移工作在 Github 上操作将会非常复杂,因此我们采用先把 Github 上的内容备份到本地,修改完成后再发布到 Github上的方式。

这里面需要了解一些 Git 的知识,请自行搜索。如果不管那么多,请先下载 Git 并安装。

1.1 安装 Git

1.2 克隆仓库到本地

安装好 Git 之后,打开命令行工具。不知道命令行工具为何物,请自行搜索。

无论是 Mac 还是 Windows 都自带命令行工具,请找到它们并打开。

此时打开Github,并找到你的博客仓(不知道的看上一篇文章),在仓库主页找到一个绿色的按钮 Clone and download,点开后看下浮窗的右上角是 use SSH 还是 use HTTPS。如果是 use HTTPS的话,请点一下。别问为什么,用 SSH 方式还要配置 keygen ,你肯定不会。

可以发现浮窗的中间有一个文本框,里面有一长串的地址,文本框最右边剪贴板📋的图标,点击一下复制你的仓库地址。

切换到之前打开的命令行窗口,输入

1
git clone 刚才复制的仓库地址

比如说我自己的博客就是

1
git clone https://github.com/tortorse/tortorse.github.com.git

回车执行这段命令,稍微等待一会,你的博客就被保存到本地了。

保存到哪里去了呢?请看下命令行,你输入命令的前面就是存储的位置,比如我的

1
d:\blog>

如果你用的是Mac,那么请在命令行里输入

1
pwd

回车之后,屏幕上显示的即是当前目录所在,记住这个目录,后面会用到。

好了,现在已经把仓库备份下来了。为了以后方便,还是请安装一个图形化的Git 工具,比如 SourceTree

2. 从 wordpress 迁出

wordpress 里的旧博客文章,如果不做特殊处理的话,那都是存储在服务器上的MySQL 数据库里的。那么我们需要将其先备份/导出。打开原来旧的 wordpress 后台,一般是 http://你的域名/wp-admin

2.1 安装jekyll插件

登录之后找到插件 菜单,选择安装新的插件,搜索 jekyll,你会发现一个叫做 jekyll exporter 的插件,点击 安装

2.2 导出文章

找到 工具 菜单, 在里面找到 export to jekyll ,点击后会自动下载。下载完成后解压缩,你会发现你的文章都已经被转成了 .md ,并且原有的附件都存在 wp-content 文件夹下面。把解压后的文件夹保管好,后面会用到。

3. 绑定域名

回到 Github,进入你博客所在的仓,点击 Settings,找到 Github Pages部分,在Custom domain里面填入你博客的地址,注意不要是顶级域名。不要问我为什么,谁试谁知道。比如我的博客就填入 www.tortorse.com。暂时不要勾选 Enforce HTTPS, 因为我们还没做域名指向,勾了也没用。

现在打开你域名服务商的后台,找到DNS解析的部分。将原来的 A 记录改为以下里面的任意一个:

  • 185.199.108.153
  • 185.199.109.153
  • 185.199.110.153
  • 185.199.111.153

如果你的DNS解析支持负载均衡,你可以把4个地址都加上。

然后再添加一个 wwwCNAME 记录,指向到 你的github用户名.github.io,比如我的就是 tortorse.github.io

这样设置完以后,域名就算绑定了。稍微等一会儿,域名生效需要一些时间。

这时候访问你的自定义域名,看看是否已经转到了博客。比如我的自定义域名是 www.tortorse.com,访问以后会发现已经到了新的博客。也可以本地用命令行 ping 一下自己的域名,看看是否已经到了 185.199.108.153 这样的IP

4. 启用HTTPS

Github Pages 可以直接帮你的域名生成SSL证书,而且还免费。非常爽快的回到Github 里的 Setting 里勾上那个Enforce HTTPS。这时候你的博客就可以通过 HTTPS 访问了。

5. 旧文章导入

把 2.2 里提到的文件夹里的所有内容复制到 1.2 提到的文件夹下的 _posts 目录里,然后在命令行里输入

1
2
3
git add _posts/* //把文件加到暂存区
git commit -m "博客迁移"
git push

稍微等一会儿,打开你的博客,看看是不是都迁移过去了?

6. 延伸

  1. 本地调试 jekyll 的话需要安装ruby
  2. Git 的操作可以使用 SourceTree
  3. 活用 ping dig 等网络命令来验证域名是否绑定成功