记录一次服务器升级流程

第一次对服务器整体进行了升级,记录一下升级过程中的心得体会,在这里感谢公司对我的工作的支持。

老系统 配置

  • ubuntu 14.04
  • php5.6
  • nginx
  • mysql 腾讯云

升级后的配置

  • ubuntu 16.04
  • php7.1
  • nginx
  • mysql 阿里云mysql

1升级前准备

  • 正式服务器备份(1阿里云设置快照,2静态文件通过ftp备份到本地)
  • mysql 备份
  • 升级期间测试环境充当正式服务器,保证业务不间断

在和公司同事确认升级时间后,在此之后,运营人员不在对静态文件操作,然后通过ftp拉取服务器上的静态文件,以此保证备份的静态文件是最新的。
另一方面,对于静态文件的存储采用阿里云oss,不在存储在磁盘上(一小部分还存储在磁盘上),之后业务增长起来后,不用在同步多份静态文件,负载起来也方便。

2 生产环境可用性保证

在测试服务器中暂时配置生产环境,在凌晨测试无误后,切换正式域名到测试服务器,并告知相关人员,此时先不要去升级正式服务器,为了防止测试服务器出现什么问题,先让测试服务器跑一天,相关人员及时反馈使用中的问题,无误后,第二天再去升级正式服务器,保证可用性。

3 升级正式服务器

这时候正式服务器,可以去放心升级,升级完成后,在循环进行步骤2,此时正式服务器相当于一个准正式,还不确定是否有什么问题,还是先在正式服务器上跑一天,测试环境的代码不要去动,万一正式有问题,还有一个可选性,可以保证业务部不中断。

心得体会

最重要的一个体会是,升级期间,不管什么情况下,要给自己一个可选项。这样不管在什么时候,出现了问题,你还有一个备选项去选择,不至于,一步错,步步错。要紧跟上技术的更新,不至于老版本不维护了,那样使用起来是很难受的。

升级流程图
file

本作品采用《CC 协议》,转载必须注明作者和本文链接
Make everything simple instead of making difficulties as simple as possible
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!