记录一次服务器升级流程

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

老系统 配置

  • 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
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。