使用“宝塔一键迁移”工具,将typecho博客迁移到京东云cvm云主机
作者:京东科技 林中
服务器更换、网站搬家,对于很多开发者新手来说不是一件容易的事情,需要迁移网站程序、数据库,修改数据库连接文件等。在云迁移方案中,宝塔是非常简单好用的服务器运维面板,能够极大提升运维管理效率。本文将介绍如何使用“宝塔一键迁移”工具将单机版typecho博客系统快速迁移到京东云cvm云主机。
一、单机版typecho博客系统迁移方案分析
Typecho博客系统是一个开源的php应用,部署架构相对简单,具体包括:
1、运行在标准的LNMP环境下。
2、typecho应用作为一个网站,部署在webroot目录下。
3、后端使用mysql等开源数据库作为用户数据库的存储。
其中,应用部分:1、LNMP运行环境 2、typecho应用 3、mysql数据库软件,这些属于标准的软件,可以采用在目标主机重新部署的方式,只需要保证对应组件的版本一致即可。数据部分:mysql中存储的数据,会记录客户的主题分类、博客内容等,需要采用数据库导出/倒入的方式,进行离线迁移(为了保证数据一致性,需要一定时间的业务中断)。
了解到客户目前在腾讯云的主机,内嵌了宝塔linux面板工具,使用面板工具提供的“宝塔一键迁移”功能,可以通过图形化的方式,方便、快捷的完成以上所有操作步骤。
二、迁移流程
整体流程分为三个阶段:
阶段一:迁移准备工作(在源服务器上操作):
1、确认源服务器上的操作系统和各组件版本
在源服务器“宝塔linux控制台”-》“软件商店”中,点击“应用分类”的“已安装”标签,记录以下组件的具体版本(或截图保存):
Nginx:XXX
Mysql:XXX
PHP:XXXX
Pure-Ftpd:XXXX
参考截图如下:
2、在源服务器的宝塔linux面板中,安装“宝塔一键迁移”工具
在“宝塔linux控制台”-》“软件商店”中,保持“应用分类”已选择了“全部”,然后在“应用搜索”输入框中输入“宝塔一键”,并点击搜索,找到“宝塔一键迁移API版本”的官方软件。如下图所示:
接着,点击“操作”部分的安装,选择最新的stable版本完成安装。
阶段二:迁移目标服务器环境准备(在京东云控制台及京东云CVM云主机上操作)
3、在“京东云控制台”中,创建CVM云主机,详细的操作步骤请参考京东云官网手册:
https://docs.jdcloud.com/cn/virtual-machines/create-linux-instance
注:源服务器的操作系统版本为Centos7.8 64bit,京东云没有该版本镜像,创建CVM主机时选择Centos 7.9 64bit版本。
4、以ssh方式,登录京东云cvm云主机,安装最新版本“宝塔linux控制面板”
Centos安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装脚本执行结束后,请妥善记录宝塔linux面板的登录信息。参考样例如下:
5、登录目标服务器 “宝塔linux控制台”,首先绑定个人手机号(可以立即注册),初次登录,会提示一键安装LNMP环境,按照“阶段一”中“第1步”记录的各组件版本设置,保持和源服务器一致。请耐心等待和组件安装完成,预计需要15分钟。
6、在目标服务器“宝塔linux面板”-》“面板设置”中,开启“API接口”开关,用于第三阶段设置“宝塔一键迁移”工具的参数信息。参考截图如下:(第一次开启时,接口密钥显示为密文,无法拷贝,点击“重置”按钮直到显示明文信息,需要拷贝密钥并保留;ip白名单,设置为源服务器的公网ip地址。)
阶段三:执行“宝塔一键迁移”工具,完成迁移。(在源服务器上操作)
7、在源服务器“宝塔linux控制台” “软件商店”中,选择“应用分类”已选择了“已安装”,找到“宝塔一键迁移API版本”的官方软件(在阶段一,第2步中已安装该软件),点击“设置”,配置迁移工具执行相关参数,包括:
接收数据的看板地址:XXX(阶段二,第4步中,安装宝塔linux控制面板成功后,记录的外网面板地址,只需要截取到最后一个斜线之前的部分)
接收数据的面板API:XXX(阶段二,第6步中,保留的密钥)
参考截图如下:
8、点击下一步开始执行,依次完成“监测环境”-》“选择数据”等环节,最后点击“一键迁移”。过程参考截图如下:
至此,博客系统一键迁移的整体流程就结束了,可以在新服务器中看到站点信息、应用以及数据库等内容,另外需注意一键迁移后在域名商那里完成域名的地址解析,把旧服务器IP更改为新服务器IP。
使用“宝塔一键迁移”工具,将typecho博客迁移到京东云cvm云主机的更多相关文章
- Typecho博客迁移
在新的机器上先搭建好一个新的Typecho博客,数据库名称和原博客相同(可以省不少事). 备份原来博客的usr目录. 备份mysql数据库,命令: mysqldump -uroot -p --all- ...
- cnblogs博客迁移到hexo
cnblogs博客备份 备份地址:https://i.cnblogs.com/BlogBackup.aspx?type=1 备份文件为xml格式,打开备份文件,如下所示: <?xml versi ...
- 利用爬虫爬取指定用户的CSDN博客文章转为md格式,目的是完成博客迁移博文到Hexo等静态博客
文章目录 功能 爬取的方式: 设置生成的md文件命名规则: 设置md文件的头部信息 是否显示csdn中的锚点"文章目录"字样,以及下面具体的锚点 默认false(因为csdn中是集 ...
- Typecho博客转移服务器,数据备份.
目录 Typecho博客转移服务器,数据备份. 简述操作(有基础的mjj看这个简述就可以了.) 详细步骤(建议小白来看, 已经在很多详细方面进行说明了.) 备份篇 备份导入与数据库转移篇 重新部署ty ...
- 博客迁移至http://www.maxzhang.com,欢迎访问!
博客迁移至http://www.maxzhang.com,欢迎访问!
- 博客迁移至 http://www.loveli.site
对于博客园的Markdow 支持太过...,你懂的, 以后博客迁移至:http://www.loveli.site
- 【博客迁移】hyrepo.com
博客迁移至 www.hyrepo.com
- 博客迁移到http://pengliu.cf
博客迁移到http://pengliu.cf
- 博客迁移到github了
博客迁移到github了,这边基本不更新, 主要是没有找到快捷的同步方法,手动同步太麻烦了,如果你有快速把github博客同步到博客园的方法请一定告诉我
- Typecho博客添加版权说明
版权声明是指作品权利人对自己创作作品的权利的一种口头或书面声明,一般版权声明应该包括权利归属.作品使用准许方式.责任追究等方面的内容.诸如平时看文章时最后会有一个严禁转载的说明,其实这就是版权声明. ...
随机推荐
- GitHub Pages 和 Jekyll 笔记
GitHub Pages 和 Jekyll 笔记 快速创建(使用默认的Jekyll引擎) 1. 新建仓库 新建一个空仓库, 名称为username.github.io, 其中 username 就是你 ...
- C++ 不知树系列之初识树(树的邻接矩阵、双亲孩子表示法……)
1. 前言 树是一种很重要的数据结构,最初对数据结构的定义就是指对树和图的研究,后来才广义化了数据结构这个概念.从而可看出树和图在数结构这一研究领域的重要性. 树和图重要的原因是,它让计算机能建模出现 ...
- 5.pygame快速入门-精灵和精灵组
在之前案例中,图像加载.位置变化.绘制图像都需要编写代码分别处理 pygame提供了两个类简化开发步骤 pygame.sprite.Sprite #精灵,存储图像数据image和位置rect的对象 p ...
- 19.drf response及源码分析
源代码位于:response.py REST framework 提供一个 Response 类来支持 HTTP内容协商,该类允许返回可以呈现为多种类型的内容,具体取决于客户端的请求. 这个 ...
- 8_vue是如何进行数据代理的
在了解了关于js当中的Object.defineProperty()这个方法后,我们继续对vue当中的数据代理做一个基于现在的解析 建议观看之前先了解下js当中的Obejct.defineProper ...
- 方法的重载(Overload)+ println重载
方法的重载(Overload) package cn.day01; /*方法的重载(Overload):多个方法的名称一样,但是参数列表不一样. * 好处:只需要记住唯一一个方法名称,就可以实现类似多 ...
- EasyExcel对大数据量表格操作导入导出
前言 最近有个项目里面中有大量的Excel文档导入导出需求,数据量最多的文档有上百万条数据,之前的导入导出都是用apache的POI,于是这次也决定使用POI,结果导入一个四十多万的文档就GG了,内存 ...
- js 金钱3位格式化
function formatCash(str) { return str.split('').reverse().reduce((prev, next, index) => { return ...
- 【算法总结】【队列均LinkedList】栈和队列、双端队列的使用及案例
1.栈 初始化:Stack<E> stack = new Stack<>(); 出栈:stack.pop() 或 stack.remove(stack.size() - 1) ...
- Cookie添加方法
Cookie是通过response对象中的getCookie()方法进行获得的