开端

这次也并不是为了写些什么,因为最近发生的事儿有些多,还都挺重要的,就想找个空闲时间记录一下。

其实主要原因是我正在迁移服务器数据,总不能白等,无聊就随便写写

咳咳,既然如此,先从数据迁移开始。

数据迁移

先来说说服务器的数据迁移。

悲惨世界

放心,今天没有看不懂的教程,没有天书。事情的经过是这样的:去年6月参加了阿里云的云翼计划,买了台学生价服务器,大概一百多吧,毛毛细雨,小钱小钱。But,最近提示我快到期了阿里爸爸要来收租了,点开续费一看。小了,格局小了。续费一年只要一千四,真便宜(bushi)。带着满脸黑人问号的我点开了云翼计划,里面写着,老活动失效了,现在可以通过新活动比原本更便宜的购买服务器并且按优惠价可续费3次。也就是说98元*4=392元可以买一台四年期限的服务器,好家伙,简直好到我可以提前准备好我女儿的诞辰礼物了。

But,这和我又有什么关系呢,关键问题是,我原本的服务器到期了,而我想用优惠价续费,现在阿里告诉我只能花四年的优惠价给我的服务器续费四个月,这谁顶得住啊。再加上最近阿里的面试,这家公司在我心目当中的地位直线下降(后面再讲面试)。

我花了一个下午的时间,研究如何在时间和空间上寻找突破点,后来,并没有找到。下面的解释会很绕:

  • 第一种方法,为原服务器创建快照后做成自定义镜像,然后使用自定义镜像创建服务器。听起来很好,我也试了,结果发现创建服务器的时候还是高达上千的费用,原因是没有通过云翼活动中购买,无法享受优惠。
  • OK,既然知道必须通过云翼活动才能优惠,那么第二种方法,easy。那就是在云翼计划中购买服务器,但是选择系统镜像的时候,切换到同地区级别的自定义镜像。我也试了,此处忍住不爆粗口。因为云翼计划购买服务器的时候压根就没有自定义镜像的选择,也就是说我只能买一个空的服务器。
  • 也就是说,现在只能以优惠价买一台空壳,然后使用数据迁移技术将网站内容迁移至新服务器。所以我马上就买了一台机子,按照步骤往账户上充了一张毛爷爷,又开通了OSS服务,开通了RAM权限,巴拉巴拉等等等等。最后还进了一个数据迁移的钉钉群,当我看到迁移费用的时候,打扰了,出口在哪儿。

如果仔细看完这三段,您一定能理解我有多么气愤,俺还是个孩子,至于这么绕弯子坑蒙拐骗吗。也就是说我研究了半天最后徒劳无获,最后我只能尝试,手动迁移!!!

现在正在迁移过程中,文件传输和比较慢,如果成功我再把经验分享在此。如果失败……有谁可以995。

路漫漫

经过一整天的奋斗,总算是完成了两台阿里云服务器的数据迁移(纯手动,所以接下来给大家讲一下迁移的过程,顺带帮助大家远离大坑)。

首先还是购买云服务器,这里就不说了,因为我现在算是老用户,不能购买ECS,所以买了台轻量应用服务器,之前那台也是轻量应用服务器。如果大家买的是ECS应该直接通过重置系统中的重置为自定义镜像就可以了。

打开轻量应用服务器的管理页面后选择磁盘列表,选择右方的创建快照。创建快照的过程比较缓慢,请耐心等待。

截屏2021-04-10 10.46.00

创建完成之后,进入快照列表,选择我们刚刚创建好的快照,然后创建自定义镜像。名称和描述自己写即可。记住镜像所在的地区必须和所要迁移到的服务器所在地区一致,可以到服务器列表中查看自己的服务器是买在哪个区的。

截屏2021-04-10 10.47.03

最后我们就得到了一份自定义镜像。如果大家用的是ECS,先选择共享到ECS,然后就可以创建ECS,如果用的是轻量应用服务器,那就选最后的选项。没有学生优惠的朋友们,教程到此就已经结束了。有学生优惠购买了一台新服务器需要迁移的朋友们请看接下来的内容。

截屏2021-04-10 10.49.54

复制粘贴

大家记得开两个网页,同时进入两台服务器的管理页面,方便进行对照,快速配置。

域名我们最后再解析,先点开两个防火墙。对照第一台服务器,同步第二台服务器的防火墙配置,ECS好像可以导出安全组什么的,没研究过轻量行不行,手动配也不是很累。

截屏2021-04-10 10.55.24

像这样,尤其是宝塔面板需要的端口一定注意开启,其他根据原先服务器的项目来配。接下来直接安装宝塔面板,首先远程连接到你的服务器,使用sudo su root进入管理员模式,然后输入如下命令:

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
debian脚本:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

一路yes之后,就静待安装。并不需要很长的时间,这里特别要注意。最后宝塔会给一个登陆的网址,用户名和密码,复制网址后打开并收藏,以免忘记。然后使用它给的账号登录面板。第一次初始化完成之后,会提示安装软件,推荐选第一个,差别好像也就第一个是是Nginx第二个是Apache。时间充裕的小朋友们可以选择编译安装,估计要等四十分钟左右。而快速安装只需十几分钟,为了我们服务器的稳定,建议还是选择稳健一些的编译安装。反正也是要等安装,不如乘机做一些有意义的事。

如果你的服务器需要tomcat的话(我有一个项目就需要),选择软件商店里的tomcat进行安装,推荐版本8。他会自动排列到编译安装任务之后。然后我们打开原服务器的宝塔面板,选择安全,这里的操作就和刚刚开通服务器防火墙一样。

截屏2021-04-10 11.28.12

说明里写了默认端口等等的不需要配置,装完所有的软件就会自动配。我们只需要配自己项目所需的端口,按照原服务器上的来即可。这里不能像服务器管理器里面一样群体配置,只能一个一个配,而且有些卡。大家耐心等待。

放行完端口,软件应该还没装完,那么继续。看一看任务进度,如果MySQL装好了,就可以开始备份数据库,但是估计也没那么快,所以还是先备份网站吧。我们打开原服务器的网站。找到下面这个东东,然后把每个网站都备份一遍。备份完记得全部下载到本地,应该可以通过两台服务器的ftp文件传输,我觉得还是纯手动既快又方便。同样的我们打开数据库,也进行备份后下载到本地。

截屏2021-04-10 11.37.14

现在我们的数据库应该已经安装好了,我们创建和原服务器上的同名同用户同密码的数据库即可,然后使用刚刚下载到本地的压缩包进行恢复。由于数据库的文件比较小,基本不需要等待。这里有一个非常坑的地方,昨晚也花了我一个多小时去研究。就是老版的宝塔面板中数据库的名字是可以大写可以小写的,而在新版中,即使你设置了一个大写的数据库名,仍旧会被自动改写成小写。并且当你同时创建一个大写一个小写的两个同名数据库之后,会提示你数据库已存在。那么问题就来了,我原项目中需要用的数据库名字是大写的。无论我怎么改,项目跑起来都不能连接数据库,并且我使用终端连接服务器后访问MySQL,也提示不存在这个大写的数据库。

因此,我最后只能重新打开我不想去动的项目,重新修改文件内的配置为服务器的配置,修改连接的数据库名为小写字母,最后再打包、上传、部署、启动,期间还出现了ssl证书的问题以及数据库密码的错误,来来回回部署了半个多小时。其实大多数的时间全部浪费在了文件传输上,项目用的是jar包,内置了tomcat,以200kb的上传速度,龟速上传。期间并没有遇到特别大的问题。

而关于需要使用内置tomcat部署war包的项目,相信宝塔基础软件的安装已经完成了,直接到文件,进入www/server/tomcat/wabapps目录中,将war包丢进去重启tomcat即可,这个项目的迁移也没有遇到问题。

吃了个饭,讲到哪儿了。原来数据库已经装完了,那接下来恢复网站即可。首先按照原服务器的网站在新服务器上创建同名网站,如果数据库之前配过不需要再创建,否则打上勾。完成之后进到网站根目录,里面应该只有两个配置文件,不管它直接上传之前备份过的网站压缩包,这里需要等很长的时间,因为网站的数据包真的挺大的,完成之后解压到当前目录即可。我们按照同样的步骤恢复所有的网站数据,花不了很长的时间。

差不多了,还要注意的是,如果是打包成jar的java项目,需要开启终端,进入目标目录后启动,启动方式见之前写过的文章,前端vue、后端ssm、前后端分离项目服务器部署实战。(因为我就是忘记启动了结果测试项目是否迁移成功的时候发现前端一直都不能给后端发送请求)。

最后亿步,打开域名控制台,进入域名解析列表,然后点开你的每一个域名,修改所有的记录,将记录值改成你迁移服务器的公网地址。等待一段时间完成解析。

解析完域名后在浏览器中访问你的网站,你的博客,你的项目,发现全都正常的跑起来了,服务器的数据迁移也就到此结束。

后续

咳咳,很久之后,我无意间点开了续费的页面,发现去年的服务器又可以按原价续费了,不清楚什么原因,不过既然都喷完了,那我也没办法。

总结

关于面试的部分,很多言语不太妥当,所以全部删掉了。本来还想多写一点,但是工作实在是占用了太多的时间,早上八点多起床,晚上回家洗衣服洗澡收拾完也接近九十点了,而且经常还要处理学校的事务,实在忙不过来,这篇博文也是写了快一个月,一直没有发布。以后不一定还会有时间学习新的技术,可能需要巩固一下我的基础知识,准备接下来的面试和工作,所以博客的更新到此告一段落。

最后修改:2022 年 05 月 28 日
随意