作者:京东科技 林中

服务器更换、网站搬家,对于很多开发者新手来说不是一件容易的事情,需要迁移网站程序、数据库,修改数据库连接文件等。在云迁移方案中,宝塔是非常简单好用的服务器运维面板,能够极大提升运维管理效率。本文将介绍如何使用“宝塔一键迁移”工具将单机版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云主机的更多相关文章

  1. Typecho博客迁移

    在新的机器上先搭建好一个新的Typecho博客,数据库名称和原博客相同(可以省不少事). 备份原来博客的usr目录. 备份mysql数据库,命令: mysqldump -uroot -p --all- ...

  2. cnblogs博客迁移到hexo

    cnblogs博客备份 备份地址:https://i.cnblogs.com/BlogBackup.aspx?type=1 备份文件为xml格式,打开备份文件,如下所示: <?xml versi ...

  3. 利用爬虫爬取指定用户的CSDN博客文章转为md格式,目的是完成博客迁移博文到Hexo等静态博客

    文章目录 功能 爬取的方式: 设置生成的md文件命名规则: 设置md文件的头部信息 是否显示csdn中的锚点"文章目录"字样,以及下面具体的锚点 默认false(因为csdn中是集 ...

  4. Typecho博客转移服务器,数据备份.

    目录 Typecho博客转移服务器,数据备份. 简述操作(有基础的mjj看这个简述就可以了.) 详细步骤(建议小白来看, 已经在很多详细方面进行说明了.) 备份篇 备份导入与数据库转移篇 重新部署ty ...

  5. 博客迁移至http://www.maxzhang.com,欢迎访问!

    博客迁移至http://www.maxzhang.com,欢迎访问!

  6. 博客迁移至 http://www.loveli.site

    对于博客园的Markdow 支持太过...,你懂的,  以后博客迁移至:http://www.loveli.site

  7. 【博客迁移】hyrepo.com

    博客迁移至 www.hyrepo.com

  8. 博客迁移到http://pengliu.cf

    博客迁移到http://pengliu.cf

  9. 博客迁移到github了

    博客迁移到github了,这边基本不更新, 主要是没有找到快捷的同步方法,手动同步太麻烦了,如果你有快速把github博客同步到博客园的方法请一定告诉我

  10. Typecho博客添加版权说明

    版权声明是指作品权利人对自己创作作品的权利的一种口头或书面声明,一般版权声明应该包括权利归属.作品使用准许方式.责任追究等方面的内容.诸如平时看文章时最后会有一个严禁转载的说明,其实这就是版权声明. ...

随机推荐

  1. 优雅处理Golang中的异常

    我们在使用Golang时,不可避免会遇到异常情况的处理,与Java.Python等语言不同的是,Go中并没有try...catch...这样的语句块,我们知道在Java中使用try...catch.. ...

  2. 2022HNCTF--WEB

    @ 目录 [Week1]Interesting_http 分析 payload [Week1]2048 分析 payload [Week1]easy_html 分析 paylaod [Week1]In ...

  3. 洛谷P4135 Ynoi2016 掉进兔子洞 (带权bitset?/bitset优化莫队 模板) 题解

    题面. 看到这道题,我第一反应就是莫队. 我甚至也猜出了把所有询问的三个区间压到一起处理然后分别计算对应询问答案. 但是,这么复杂的贡献用什么东西存?难道要开一个数组 query_appear_tim ...

  4. php 高并发

    1 swoole的博客 http://rango.swoole.com/archives/508 2 消息队列 3 接口并发请求

  5. php中的try语句

    为了进一步处理异常,我们需要使用try-catch语句----包括Try语句和至少一个的catch语句.任何调用 可能抛出异常的方法的代码都应该使用try语句.Catch语句用来处理可能抛出的异常.以 ...

  6. Linux 使用打印机

    前言 在 deepin 上打印机好使,在我的mint上不好使,简单的查看一下deepin上驱动及软件.安装上就行了. 软件及驱动 ii hpijs-ppds 3.18.12+dfsg0-2 all H ...

  7. Selenium4+Python3系列(十) - Page Object设计模式

    前言 Page Object(PO)模式,是Selenium实战中最为流行,并且被自动化测试同学所熟悉和推崇的一种设计模式之一.在设计测试时,把页面元素定位和元素操作方法按照页面抽象出来,分离成一定的 ...

  8. Java反射与安全问题

    1.Java反射机制 Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的 ...

  9. 【每日一题】【map存值】2022年2月25日-NC112 进制转换

    描述给定一个十进制数 M ,以及需要转换的进制数 N .将十进制数 M 转化为 N 进制数. 当 N 大于 10 以后, 应在结果中使用大写字母表示大于 10 的一位,如 'A' 表示此位为 10 , ...

  10. 【Java EE】Day01 基础加强、Junit单元测试、反射、注解

    〇.总结 1.测试:三个注解.断言判断 2.反射:三个阶段获取字节码对象的三种方式.忽略成员变量权限方法setAccessible(true) 3.注解:内置注解SupressWarning& ...