====== ECS+OSS+CDN部署方案 ====== ===== 设计目的 ===== 此方案用于满足以下需求: * 动静态分离 * CDN按网络区域加速 * 获得较快的访问速度的同时,节省动态服务器带宽费用 ===== 部署方案 ===== - 数字列表项目购买1台ECS,以及必要的RDS数据库服务器,RDS需要与ECS同区,便于快速访问独立RDS很重要,可以增加安全性和可靠性,并减少在ECS上的投入 - 在ECS上部署需要的动态环境,Apache/PHP等 - 启用OSS,新建2个OSS Bucket(均为公共读),其中一个和ECS位于同一服务区(例如huabei),另一个可根据需要与ECS不同区(例如huanan),另外可根据需要购买储存包和回源流量包(储存包用于储存空间,下行流量包用于OSS单独访问时的流量,回源流量包用于CDN从OSS调取数据时使用,本方案中储存空间自行决定,如果不需要OSS单独访问也可不购买下行流量包,回源流量因为消耗很小也可以不买回源包) - 在两个bucket中都设置好跨域选项,对来源为* 开放GET、PUT接口,Allow header也为*,Expose Header留空,缓存时间120秒 - 在与ECS服务器相同的Bucket中设置跨区域复制,使其内容同步 全量(新增/修改/删除) 复制到另一个Bucket - 启用CDN,可根据需要考虑购买对应CDN流量包(当所有静态数据CDN加速之后,CDN流量是重点消耗品,建议一定购买流量包) - 可以选择两种方法对页面进行动态分离 - 方法1,将动态页面内容以js的形式引入静态页面,例如[[微信分享内部版|]]中使用的方法 - 方法2,在动态服务器上保留首页文件(如index.php)然后在中添加即可实现从CDN读取所有资源文件