作者:京东科技 林中

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

    Python3写法 代码 # -*- coding: utf-8 -*- # 需求:年龄倒序,姓名正序 from itertools import chain from pypinyin import ...

  2. C++ set集合容器用法解析

    1.简介 set是C++STL库中的一个容器,他十分的便利,所有的元素插入时都会被自动排序,并且容器内保证元素不重复,就想高一数学中讲的集合具有互异性一样,(好像set本来就叫集合容器 bushi)2 ...

  3. 关于Object.keys()和Object.values()的使用

    关于Object.keys()和Object.values()的使用 1. 关于Object.keys() 1) 处理对象,返回可枚举的所有可枚举属性的字符串数组 let person ={ name ...

  4. Ubuntu 下安装 redis 并且设置远程登陆和密码

    安装redis sudo apt-get install -y redis-server 更改配置 sudo vim /etc/redis/redis.conf 如果不知道怎么找 直接在命令行模式下输 ...

  5. Python基础部分:9、数据的类型和内置方法

    目录 一.数据类型内置方法理论 1.什么是数据内置方法 2.如何调用数据内置方法 二.整型(int)内置方法与操作 1.类型转换 2.进制数转换 三.浮点型(float)内置方法与操作 1.类型转换 ...

  6. Day16异常1

    package com.exception.demo01;public class demo01 { public static void main(String[] args) { try{new ...

  7. 在 .NET 7上使用 WASM 和 WASI

    WebAssembly(WASM)和WebAssembly System Interface(WASI)为开发人员开辟了新的世界..NET 开发人员在 Blazor WebAssembly 发布时熟悉 ...

  8. Python的几种lambda排序方法

    1.对单个变量进行排序 #lst = [[5,8],[5,3],[3,1]] lst.sort(key = lambda x : x[1]) #lst = [[3,1],[5,8],[5,3]] 以元 ...

  9. Git+Github协作开发流程

    采用合作开发者的方式进行协作开发,下面以zlcook和zlserver合作开发iqas-ios-record项目为例进行讲解,zlcook为项目创建者,zlserver为项目参与者.协作开发步骤如下: ...

  10. Go语言核心36讲07

    在前文中,我解释过代码块的含义.Go语言的代码块是一层套一层的,就像大圆套小圆. 一个代码块可以有若干个子代码块:但对于每个代码块,最多只会有一个直接包含它的代码块(后者可以简称为前者的外层代码块). ...