开端

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

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

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

数据迁移

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

悲惨世界

放心,今天没有看不懂的教程,没有天书。事情的经过是这样的:去年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、前后端分离项目服务器部署实战。(因为我就是忘记启动了结果测试项目是否迁移成功的时候发现前端一直都不能给后端发送请求)。

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

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

后续

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

面试

打工季,趁着春招钓大鱼。总的来说是我人生中的第一次面试经验吧,所以分享给大家,或许会对你有所帮助。首先说几个比较重要的结果,阿里挂了(接下来开启吐槽模式),涂鸦被刷了KPI,拿到了海康的offer。

阿里

首先来说说阿里吧,曾经非常向往的公司,但是前段日子发生的那些事儿,确实也让我凉透了心,只能说这不仅仅是一个人能说出来的话,还关乎整个企业文化,我看到了阿里人的那种傲慢。即便如此,还是抱着试一试的心态投了简历。与其说是我主动投,不如说是他们主动来找。我在BOSS上注册了账号,没想到一周之内有接近20家阿里及阿里的下属公司发我私信让我投他们的岗位。一方面可以体现财大气粗,另一方面也表明,阿里的招人逻辑就是,我不管你牛还是菜,不管你是不是合适做这份工作,反正劳资有的是资金和人力,都给我来面试,然后再发你好人卡。但我还是抱着不可能进的态度投了简历,不幸的是,安排八点到九点笔试,巧就巧在八点半的时候寝室断电了,电脑上弹出提示我可能存在作弊现象要影响考试成绩的框框。笔试一共两道算法题,就是这么简单粗暴,因为只作出了一题,又遇到了断电这种事儿,所以我也就直接放弃了。

本来应该到此结束,但是三天后,我收到了技术面的邀请。难不成笔试根本就没意义,明明0分为什么还要安排我面试。你阿里到底是有多壕,我并不奢求这种嗟来之食。果然,接到面试电话后,面试官并没有给我好脸色看。上来都不让我自我介绍,直接发我一封邮件说,同学我看你上次笔试成绩不是很理想,先把我邮件里的算法题做了吧。

关于题目我也不多说了,非常的智障,前面一片小作文,然后让我把作文翻译成Java程序。我。。照做了,计算出了作文里提到的数据然后按照要求输出。结果面试官问我,过程呢,为什么只有计算结果没有中间的过程。我直接懵逼,支支吾吾不知道说什么。接下来又问我,为什么你的主函数要写return 0,返回值不是void吗?啊这,return 0不就代表程序结束吗,没有返回值的情况下代表返回值咯。然后他直接说,算了不要做这一题了,给我用Java写一遍二叉树的层序遍历。接着我就用队列写了一个主要的方法,只写了主要函数。他看差不多,也没多说,直接开始了面试。上来问我MongoDB、Redis、MySQL分别用于哪些业务场景。我答了MongoDB主要存储大量的消息数据,面试官立马反问,你的意思就是说MySQL不能存大数据咯?不不不,我MySQL存储大量日志类数据查询速度没有MongoDB快。他表示不同意,所以就不问这块内容了。接下来问我项目,说是问项目,其实我根本没机会讲话,面试官一开始就说,啊你这个项目看样子很简单啊,多去github上做些开源项目积累经验吧,你的基础知识也不是很牢靠,巴拉巴拉。说到这我知道已经没戏了,果不其然,大概批评了我三分钟,就啥也没说挂断了电话。本来我是想通过这次面试积累一些经验,没想到根本毫无收获。再见了您嘞。

涂鸦

接下来说说涂鸦,其实非常的可惜,笔试都过了,简历筛选的时候被刷,结果才发现,BOSS上的某智障程序员给我投了21届的实习生岗位,而我是22届的,所以简历都过不了。

所以多的就不说了,就是劝告大家,千万小心刷KPI,有些员工就是素质低下,为了业绩不择手段,完全不考虑招的人是否合适,他只管把你的简历投进公司,后面一概不管,你要是进了他就能拿奖金,要是不进也没有任何损失,但是大部分都是被刷掉的,所以这就是在浪费你和面试官之间的时间。

最后,涂鸦还是一家不错的公司,新兴独角兽,最近又在纽交所上市,不知道有没有圈钱跑路的形式。如果能早些年进去,真的是有非常多的福利,不过现在仍然在扩大中,抓住机会总没错。公司也没有那么的庞大,不需要应付复杂的管理机制以及棘手的项目问题。可以考虑。

海康

最近已经实习了两周,比较忙所以忘记写博客了。面试也就不多说了,笔试难度比较高,远超过阿里,而且题目很新,涉及新技术,有些题又特别底层。面试的话就看自己的临场发挥能力,项目经验,以及心理素质了,做好准备问题不是很大。

还是想来说说初来两周的感受,给大家一个参考,当然涉及保密信息的我不会多说。

先说工作环境,那是绝对的妙极了,虽然没去过阿里、网易等大厂,应该还是一流的水平。刚出地铁口就能看到三栋巨型建筑,非常的豪华。入职前一天绕着公司走了一圈,也至少要半个小时的时间。我平时上下班吃饭逛街的范围,可能都不到公司的10%,还有很多地方我没有去。内部建筑也很新,厕所有马桶(不一定能抢到),食堂特别长而且一栋楼有两层,想吃什么风格的菜基本都有。而且海康本身就是做安防和机器人这方面的,所以设备也特别先进,包括智能语音机器人,人脸考勤,智能门禁等等,总之就是很智能。

再说员工福利,作为实习生可能并没有太多的福利,工资属于中等水平,目前能享受到的只有商店促销和优惠购等。比如可乐八五折,饮料第二瓶一元等等,购买机器人优惠1k5(像我这么穷就不配买了)。毕竟是国企,如果能转正,其他公司有的福利基本都有,要是职位做上去或许还能享受期权激励。

接着是公司氛围,氛围还是挺和谐的,大家还是以互相帮助为主,有问题就去问,极少数有遇到争论。但是内卷有些严重,我一个实习生每天不到八点都不太好意思回家,可想而知,也有不少同事工作到十点十一点多才回家的,经常这么下来也是挺疲惫的。而且公司实行大小周制度,假期-1。看了看同事部分可能还是单身吧,这样哪有时间照顾家庭呢。所以除非段位高,或者能力强,经常做不完任务的话就只能一直工作,要是做得快能歇一歇工作时间长也还是挺轻松的。

最后可能是最关键的一点,也就是自我提升。海康是一个非常庞大的公司,管理很严格,制度很完善。在这里,它确实能给我们体面。公司用的技术不算老,也不算新。可能是因为项目实在是过于膨胀了,没有那么多资金和经历去重构。想要学习到新的知识,需要挺强的学习能力,作为实习生是没有培训的(正式员工有),所以也就是说,一切都得靠自己摸索,不懂问同事。大部分同事还是比较友好的,但友好并不意味着愿意帮你解决问题。总之,刚来之后会有挺久一段的迷茫期和孤立期。就好比我去的第一天直接让我自己装电脑然后开始熟悉系统和配置环境,也没有自我介绍也没有导师认领(后来安排了),导致我两个礼拜叫得出名字的同事不超过十个。或许主要还是因为我比较内向,一般也不会找陌生人聊天。

总之对于海康来说,给我的影响绝对高于网上的评价,如果说网上的评价大概是3分,我觉得至少有7分。有些人发的帖子不能全信,真的要来过才知道。

总结

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

:)