LAMP 环境通常指Linux 环境下,由Apache+MySQL/MariaDB+PHP 以及其它相关组件组成的网站服务器架构。目前以LAMP组成的Web 应用程序平台广泛被应用,70%以上的访问流量由LAMP提供,所以我们也认同LAMP是最强大的网站解决方案。
关于LAMP的环境部署文档随处可搜,腾讯官网环境部署介绍可参阅:
手动搭建LAMP环境:https://cloud.tencent.com/document/product/213/38402
镜像部署LAMP环境:https://cloud.tencent.com/document/product/213/38364
而LAMP为何如此流行,还是受益于其开源,该架构优势归纳如下三点:
1:架构下软件程序开源,提供经济的软件成本
2:开源社区积累丰富,应用程序稳定,可以快速上手
3:兼容性好,LAMP架构由各自独立的程序架构在一起使用,拥有了很好的兼容度
跳过部署,我们今天交流的是“LAMP 云架构实践” ,围绕如何在云上架构安全,弹性,高可用的LAMP Web应用架构进行一些实践分享。我是基于我的认识和项目经验把LAMP 场景进行了细分,也是方便一些刚接触的同学好理解,当然如果不足之处,欢迎指导交流。
对于轻量/非关键业务的web 应用(例如官网、论坛、博客等web应用),通常还是单节点部署架构;
在单节点web架构,我们有两种部署方式;虚拟主机部署和轻量应用服务器部署;
采购S5或SA2系列CVM完成LAMP环境部署并发布站点,这是最简单的架构。
在这种简单架构下,一般承载非关键业务应用,但从运维角度提高应用的稳定性,我们通常有如下几点实践建议;
轻量应用服务器我们在之前的文章中有所介绍,轻量应用服务器从销售角度,算是一种“打包”的产品模式,在产品角度,是为轻量/非关键web应用提供的解决方案。我们在创建轻量应用服务器的时候,我们可以看到有预置的“LAMP 应用镜像”,可以快速的完成部署和上线。
通过镜像模板,可以省去部署过程,基于轻量轻盈服务器的“性价比”,可以进一步优化成本。
相当于单节点架构,经典三层架构是把web应用通过前中后角色进行了拆分,环境独立的情况下,对于应用的排错、负载等方面得到提升。我们就在云环境下分如下两种部署模式介绍;
2.1.IAAS 部署模式
依然是纯IAAS 的资源部署,原本一台服务器拆分为三台服务器分别部署WEB/APP/MYSQL服务器角色。在云环境下我们有如下几点改进:
如架构图展示;
2.2.IAAS+COS+RDS 部署模式
对于传统架构,云环境下可以更好的提出“云化”方案,这里我们实践通常将CVM部署MYSQL 替换成 RDS for MySQL 云数据库,增加COS存储类型存放静态web页面和音视频文件。
该架构优化的收益有如下几点:
所有架构都是随着业务要求而完善的,从单节点,到多层架构,再到高可用架构都是应对业务需求的增长。从业务最初对功能的需求,后期会逐步关注稳定性,用户体验,安全性的方面。
基于高可用的需求下,我们通常优化如下几部;
当然除了负载问题,在大应用平台下,客户还会比较关注安全加固和互联网安全防护,这里就不做过多介绍了,下次独立章节做介绍交流。
如上架构的场景介绍,是遵循从小到大,从简到繁的过程,当然还有很多细节没有详尽介绍,希望未来有更多交流的机会 。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181395.html原文链接:https://javaforall.cn