您现在的位置是:首页  > 备忘  > 网站动静分离实现方案

网站动静分离实现方案

作者:李博士日期:2021-05-26浏览:201
导读:通过动静分离部署,用户浏览器端访问网页时,网页里面的静态资源访问负担全部落在了新增的服务器上面。原先的服务器只承担了动态脚本语言执行和html文档输出的负载,大大减轻服务器负担。

网站资源通常分为两种:一种是动态数据,即PHP、JSP等动态脚本语言通过查询数据库或者各种逻辑处理,最终输出的数据,这些内容在表现形式上主要是呈现的是html代码,直接输出到用户浏览器端;另一种则是静态资源,常见的静态资源有images、css、js、video等。

对于个人博客类的小站,在建站初期访问量很小,一般都是把动态资源和静态资源放在同一个服务器上面。这种架构在网站访问量不大,比如每天只有几百的访问量来说,足够应付了。现在各种云服务器提供的单机虚拟配置都比较高,1H2G1M的入门级配置也能足够这种类型的小站使用。本博客目前采用的就是腾讯云的这种入门级配置。

随着网站规模的增大,访问量的上升,这种入门配置就不能满足要求了,主要表现在:带宽不足、硬盘IO读写过高等问题。这种时候,网站动静分离部署方案就会是首选的优化方案。那么网站如何实现动静分离呢?其实就是将网站的静态资源分离出来,单独部署到另一台服务器上,然后新增一个二级域名,比如static.imlhl.com,将这个二级域名解析到这台静态服务器上,最后把网页中html代码的静态资源地址替换为这个二级域名即可完成部署。

通过这样的动静分离部署,用户浏览器端访问网页时,网页里面的静态资源访问负担全部落在了新增的服务器上面。原先的服务器只承担了动态脚本语言执行和html文档输出的负载,大大减轻服务器负担。

现在各大云服务器厂商都提供对象存储服务,我们还可以将静态资源存放在这些对象存储中,然后通过CDN分发,实现用户就近访问静态资源,提升访问体验。

什么是对象存储?

对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。COS 提供网页端管理界面、多种主流开发语言的 SDK、API 以及命令行和图形化工具,并且兼容 S3 的 API 接口,方便用户直接使用社区工具和插件。

--来自腾讯云

可以用一张图来解释这种对象存储接入CND的应用场景:

对象存储原理图

通过上述的动静分离方案部署优化后,基本上可以应付大多数的网站需求。这个方案还有一个好处,有些网站因为各种原因无法备案,但是又想用国内的CDN加速服务,那么可以将主域名解析到香港服务器,将静态资源放在腾讯云的国内对象存储中,腾讯云对象存储默认赠送一个免费的多级域名,将这个多级域名套国内的CDN,网站速度绝对可以得到一个飞跃,而且成本也不高。

最后分享一个张戈博客里面的动静分离部署方案原理图:

服务器动静分离部署方案原理图

转载请注明出处:李博士,如有疑问,请联系(QQ:81067315)。
本文地址:https://www.imlhl.com/mark/409.html

上一篇:关于个人博客程序与博客模板的选择

下一篇: 没有了