随着业务的不断变化,服务器成本的提高,或者合作方的切换,等各种原因,切换服务器和域名这种情况是肯定存在的。今天就来讲讲切换服务器和域名如何做?下面以saas服务商为例子。
注意点:
- 了解现有项目的架构,比如多少台服务器,服务器之间的关系如何,切换那些服务器可能影响比较大,评估风险。
- 使用镜像购买服务器(可能服务器价格便宜了),配置环境如lnmp等,参考之前的康康项目搭建过程,配置证书等
- 数据库、redis等调试是否连通。
- 小程序开发平台,各种平台的域名都得先在不影响现在业务的情况下,增加新域名去测试。
- 小程序各种白名单或者涉及资金的ip新增新服务器的ip。
- 各种内网连接的调试,比如之前可能很多通讯是内网通讯的比如数据库和服务器在同网络
- 项目中存在于服务器的资源路径域名切换,存在于数据库中域名切换,存在于redis中的域名切换(所以redis中尽量不要存可变的东西而设置缓存不过期)
- 检测项目中所有对接的和第三方对接的业务,是否需要修改域名?这恰恰也反应了自己设置回调地址的好处,这也是为什么很多第三方公司的sdk中回调地址需要程序员自己设置的原因
- 所有的这些如有不清楚业务是否有影响的,必须让各个负责的同事开会评估。
- 不是一刀切。虽然切换了新服务器和域名;但是原来的域名和服务器也要保留一段时间至少一个月等通知各个需要对接我们的客户把域名都切换为新的为止。(一下非对接方的模块可以入口停止return掉)
- 上线前,比如小程序审核通过后一键通过后;先启动新服务器,然后停掉旧服务器部分非ERP等对接的接口入口;最后发布小程序。(影响范围是未发布的小程序,因此需要等所有小程序都审核通过后,再进行服务器的切换,切换前可以用一个自己公司小程序来测试。)
- 发布代码前的准备:运营通知到位!!!!! git分支合并操作后;保证新旧服务器代码一致至少到所有客户切换新域名为止。
- 由此可见,项目在编码时"动态”时多么重要不要“硬”编码
- 可以考虑新购一台服务器,先中转到之前的旧服务器。
- 应急方案准备,最坏打算