部署前端h5页面,请求无响应

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

前言

    公司有一个通过微信公众号访问的在线商城,用户总量大概有几十万的样子,通过关注公众号然后进入商城进行购买,由于历史原因,这个项目最开始的时候是外包给另外一个公司做的,那时候云计算还没有现在这个流行,大都是将服务器托管在 IDC(Internet Data Center)机房的形式,机房提供可靠的物理环境和网络,但是没有像现在阿里云腾讯云这样的管理界面,阿里云在模仿并赶超 AWS 的道路上越走越好,其中阿里云的管理界面真心做的很好。

 

部署站点

    传统的 IDC 机房会提供一个 VPN 账号,通过 VPN 的方式接入他们的网络,然后登陆服务器进行配置,平台采用的是一台 centos 服务器安装 nginx 做为负载,负载到 4台 windows server 2008 服务器,上面安装 IIS 部署站点和后台服务,一台 Sql server 数据库,然后选用老牌 CDN 蓝汛和帝联缓存站点。

    之前一直采用的部署方式为手工部署,光上传就需要十几分钟到半小时,然后手工替换再刷新 CDN 缓存,第一次接收部署的时候,仅仅更新站点就花了快一个小时的时间才更新完成,很是麻烦。

    扯远了,说下在部署中遇到的问题:

   由于上传很耗时间,在一个更新中,h5开发和测试的疏忽,html 页面的标题写错了,需要替换 index.html 文件,由于之前每次更新都是替换整个站点,当时觉得太慢了就让开发只提供 index.html 这个文件,然后去生产替换下就好了,结果就出问题了。

    替换完 index.html 之后,刷新 CDN,发现首页打不开了,吓了一跳,赶紧把备份还原,对比了下两个 index.html 排查发现,前端采用 gulp.js 的方式打包站点文件,gulp 在打包过程中会对每个文件进行 MD5计算,然后把文件中所有文件名都替换成 MD5 值:

    这样防止文件在打包之后被修改,所以也造成了只更新 index.html 文件站点打不开的原因。

    gulp.js 打包部署需要需要整个目录做切换,覆盖替换的方式只会替换掉根目录下的 index.html 这样的文件,lib 等 js 则不会被替换掉。

      

转载于:https://my.oschina.net/u/2470065/blog/796644

你可能感兴趣的:(部署前端h5页面,请求无响应)