记录服务器的一次升级
发布于2021-08-22 08:08:09,更新于2021-08-29 16:32:41,标签:life 文章会持续修订,转载请注明来源地址:https://meethigher.top/blog一、近况
公司8月7号搬家的吧,新环境超级好,至少比之前的好点。跟作业帮公司在一栋写字楼,作业帮在我们公司下层。
这就导致,之前我上班只需要过一条马路,5分钟,到现在骑车的话需要20分钟,坐公交需要40分钟。上下班很累,其实这样也挺好。
之前因为离公司太近了,我每天有种飘飘然的感觉,那种感觉就是我不是我的感觉了,就是缺少锻炼导致的。现在的话,也不用晨跑了,每天骑单车锻炼就行,我觉得还挺好的。之前那种出了一身大汗,精力充沛的感觉又回来了。
这段时间,之所以没有更新博客,还是有连续两周的时间,放在玩游戏上了。但是我发现,我现在没法安安静静地享受游戏了,一言不合就想去看个电影,要不挂个机?输了也无所谓。可能是因为我不再是学生时期,需要打游戏来证明自己有多强,现在好像没必要证明了。而且,打游戏浪费掉了很多提升自我的时间。
所以,我最后决定了退游。说退就退,甚至毫无留恋,可能我真的过了玩游戏的年纪。
这并不证明,我不会玩游戏了。
我昨天清电脑存储,现在唯一留下的一款游戏,《古剑奇谭三》,这种超正价值观的游戏,我觉得比较有意义。当然了,《黑神话悟空》我也是比较期待的。
21号早上6点半爬起来,去打疫苗第二针,已经40多天了,由于突发疫情,导致所有打疫苗的地方都关了。第一针是北京科兴中维,第二针是武汉生物。武汉生物是第三个获批使用的疫苗。唯一的反应就是胳膊比第一针疼啊。
二、升级服务器
周五回家的时候,就留意到了有人在群里喊485三年999,我就去了解腾讯云的活动了。
485:4核8G5M
个人版的促销活动
企业版的促销活动
反正从我的角度来看,这个企业版的超级香,忙了一上午,结果企业版的需要营业执照。最后搞了一台126的轻量服务器,我算了算一个月的出量1000G,其实够我这个小破站用,一天只有20左右个新增ip而已。
如果你之前购买过腾讯云的服务器,只需要重新注册绑定个人信息即可。我直接把旧账号注销了。
简单画了下换服务器的思维导图,服务器是windows的。
不过我后来又仔细看了,建议如果想要超大带宽,可以尝试香港轻量,各大平台峰值30M的服务器都超便宜。
2.1 服务器进行分区
打开计算机管理,开始菜单-windows管理工具-计算机管理-磁盘管理
将C盘进行压缩,压缩出来的空间,进行新建即可。
2.2 数据迁移
旧服务器与新服务器是不同厂商的,这就导致数据迁移存在很大的问题。
我的个人习惯还是比较好的,所有涉及到部署的内容,全放在了develop文件夹,直接打成压缩包,通过http传到新服务器即可。
传输的工具,有必要提一下。CuteHttpFileServer | iscute.cn,一款文件传输工具,也可以从我这里进行下载
大概是3G数据,传了一下午。
2.3 配置服务
apache
由于我是直接备份过来的,所以么有这个步骤,但是我还是想重新走一下,记录下安装过程
下载apache
解压到安装路径,进入bin目录下
安装服务
1 | httpd.exe -k install -n "Apache" |
卸载服务
1 | httpd.exe -k uninstall -n "Apache" |
如果有错误,进行修改之后,可以通过下面命令进行自测
1 | httpd.exe -t |
域名解析
进入阿里云域名控制台
将域名解析到你的ip,然后再配置你的web服务器里面即可。
事实证明,只要域名解析了,web服务器不用配也可以的。
期间遇到了一个问题,http与https访问的内容不同,以为是bug,睡了一觉起来又好了,怀疑是域名解析有延迟。后来发现是由于同一个域名,解析到了两台服务器上。解析结果是根据你的网络运营商来的,哪台服务器先被解析到,就指向哪台服务器。
linux后台运行
已经习惯了win上面直接运行jar,结果linux通过命令窗口运行了jar之后,如果关闭命令窗口,就相当于是关闭了项目。
这个我是后来才知道。原来之前ids项目运行的时候,出现的问题,每次都在下班左右宕机,是这个导致的。
最好的方法
1 | nohup java -jar ids0809.jar >ids.log 2>&1 & |
在刚开始部署及测试SpringBoot打包的jar包时,常会将jar包抛到服务器上,直接运行 java -jar 命令来启动。但这样的话,该会话的终端窗口如果中断,程序也会挂掉,所以我们会采用nohup和&组合命令来操作。
使用nohup运行程序:
- 结果默认会输出到nohup.out
- 使用Ctrl + C发送SIGINT信号,程序关闭
- 关闭session发送SIGHUP信号,程序免疫
使用&后台运行程序:
- 结果会输出到终端
- 使用Ctrl + C发送SIGINT信号,程序免疫
- 关闭session发送SIGHUP信号,程序关闭
1 | nohup java -jar app.jar & |
这种方式启动项目会默认生成一个nohup.out的文件来记录日志,而且这个文件太占磁盘空间,所以为了减少磁盘被大量消耗,设置启动项目时不输出nohup.out文件。
可以采用如下两种方式:
1 |
|
两个shell语法的解释:
1. >/dev/null
这条命令的作用是将标准输出1重定向到/dev/null中。 /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。
2. 2>&1
这条命令用到了重定向绑定,采用&可以将两个输出绑定在一起。这条命令的作用是错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方。
linux在执行shell命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令,所以>/dev/null 2>&1的作用就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。执行了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中。