LAMP网站架构方案分析【精辟】

news/2024/5/9 23:57:21/文章来源:https://blog.csdn.net/weixin_34280237/article/details/85499561

LAMP(Linux- Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和 Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。

对于大流量、大并发量的网站系统架构来说,除了硬件上使用高性能的服务器、负载均衡、CDN等之外,在软件架构上需要重点关注下面几个环节:使用高性能的操作系统(OS)、高性能的网页服务器(Web Server)、高性能的数据库(Databse)、高效率的编程语言等。下面我将从这几点对其一一讨论。

操作系统

Linux操作系统有很多个不同的发行版,如Red Hat Enterprise Linux、SUSE Linux Enterprice、Debian、Ubuntu、CentOS等,每一个发行版都有自己的特色,比如RHEL的稳定,Ubuntu的易用,基于稳定性和性能的考虑,操作系统选择CentOS(Community ENTerprise Operating System)是一个理想的方案。

CentOS(Community ENTerprise Operating System)是Linux发行版之一,是RHEL/Red Hat Enterprise Linux的精简免费版,和RHEL为同样的源代码,不过,RHEL和SUSE LE等企业版,提供的升级服务均是收费升级,无法免费在线升级,因此要求免费的高度稳定性的服务器可以用CentOS替代Red Hat Enterprise Linux使用。

LAMP网站架构方案分析

LAMP网站架构图

Web服务器、缓存和PHP加速

Apache是LAMP架构最核心的Web Server,开源、稳定、模块丰富是Apache的优势。但Apache的缺点是有些臃肿,内存和CPU开销大,性能上有损耗,不如一些轻量级的Web 服务器(例如nginx)高效,轻量级的Web服务器对于静态文件的响应能力来说远高于Apache服务器。

Apache做为Web Server是负载PHP的最佳选择,如果流量很大的话,可以采用nginx来负载非PHP的Web请求。nginx是一个高性能的HTTP和反向代理服务器,Nginx以它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx不支持PHP和CGI等动态语言,但支持负载均衡和容错,可和Apache配合使用,是轻量级的HTTP服务器的首选。

Web服务器的缓存也有多种方案,Apache提供了自己的缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高 Apache的访问响应能力。Squid Cache是一个Web缓存服务器,支持高效的缓存,可以作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,把Squid放在 Apache的前端来缓存Web服务器生成的动态内容,而Web应用程序只需要适当地设置页面实效时间即可。如访问量巨大则可考虑使用memcache作为分布式缓存。

PHP的加速使用eAccelerator加速器,eAccelerator是一个自由开放源码PHP加速器,优化和动态内容缓存,提高了性能PHP脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。它还有对脚本起优化作用,以加快其执行效率。使PHP程序代码执效率能提高 1-10倍。

具体的解决方案有以下几种:

1、squid + Apache + PHP + eAccelerator

使用Apache负载PHP,使用squid进行缓存,html或图片的请求可以直接由squid返回给用户。很多大型网站都采用这种架构。

2、nginx/Apache + PHP(fastcgi) + eAccelerator

使用nginx或Apache负载PHP,PHP使用fastcgi方式运行,效率较高。

3、nginx + Apache + PHP + eAccelerator

此方案综合了nginx和Apache的优点,使用Apache负载PHP,nginx负责解析其他Web请求,使用nginx的rewrite模块,Apache端口不对外开放。

数据库

开源的数据库中,MySQL在性能、稳定性和功能上是首选,可以达到百万级别的数据存储,网站初期可以将MySQL和Web服务器放在一起,但是当访问量达到一定规模后,应该将MySQL数据库从Web Server上独立出来,在单独的服务器上运行,同时保持Web Server和MySQL服务器的稳定连接。

当数据库访问量达到更大的级别,可以考虑使用MySQL Cluster等数据库集群或者库表散列等解决方案。

总的来说,LAMP架构的网站性能会远远优于Windows IIS + ASP + Access(例如月光博客)这样的网站,可以负载的访问量也非常大,国内的大量个人网站如果想要支撑大访问量,采用LAMP架构是一个不错的方案。

综上所述,基于LAMP架构设计具有成本低廉、部署灵活、快速开发、安全稳定等特点,是Web网络应用和环境的优秀组合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_782162.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

30个带给你灵感的 iPhone 应用程序网站设计

这篇文章向大家分享30个漂亮的 iPhone 应用程序网站设计作品,希望这些实例能带给你灵感,一起欣赏。 Routes Camera Decrescendo Interface Diet2Go Task This Grades Headquarters bowtie Here, File File! 2Do Lite Weight My Desk Borange TimeTurner…

Linux系统用脚本轻松搭建Apache网站服务器

您能学到什么? 明白Apache适用于哪种场景下; 源码编译安装的方式构建httpd服务器的两种方法, 一种常规安装,另一种脚本快速安装 Apache简介 编译安装httpd服务器步骤 构建httpd服务器实验

Linux系统搭建Web网站服务器之访问控制与虚拟web主机

httpd服务访问控制概述 作用 控制对网站资源的访问为特定的网站目录添加访问授权控制方式 客户机地址限制用户授权限制实验案例 要求: 1、www.bdqn1.com增加用户验证,网页目录为/bdqn/个人名 2、www.bdqn2.com 只允许192.168.10.0/24网段访问,网页目录为/个人名 提示:分…

社交网站的数据挖掘与分析

关于本书:【互动网】【卓越网】【当当网】【京东网】【豆瓣网】 《社交网站的数据挖掘与分析》前言(原书名:Mining the Social Web,2011年Jolt生产效率大奖获奖图书)与其说网络是一项技术创新,不如说它是一…

不学其他了!Apache部署了这么好玩的网站

相关术语 提示:怎么让您看起来像专业人士,先知道这些 何为HTTP协议?是超文本传输协议,Hyper Text transfer protocal(发明者:蒂姆.伯纳斯.李) 1.超文本 包含超链接(link)和各种多媒体元素的文…

面试常备知识-Linux网站架构优化

启用网站压缩deflate 提示:以Apache为例 1.查看并启用mod_deflate ,压缩传输 查看mod_deflate:提示未找到 打开网页查看:也没有压缩响应头 2.在httpd.conf配置文件末尾,添加deflate参数配置 vim /usr/local/httpd/conf/httpd.…

饿了吗?一饱眼福-不能不懂的web网站架构负载均衡群集

理论 1、web搭建网站有哪些方式实现负载均衡与高可用性能? Nginx:反向代理,适用于中小型网站服务 优点:工作在七层之上,针对HTTP做分流策略,正则规则haproxy更灵活对网络的稳定性依赖小安装配置简单高负载…

轻松搭建web网站架构服务

学习目标: 搭建lnmp网站架构,实现负载均衡、高可用,以及https,并通过NFS优化数据存储。 服务器IP地址web1192.168.2.137web2192.168.2.136mysql192.168.2.133PHP192.168.2.130lb(keepalived)1192.168.2.135lb(keepalived)2192.1…

云计算必备-企业架构网站综合项目

目录流程一、实现效果二、步骤1.实施规范2.实施流程总结流程 1.需求分析,写项目规划书(项目经理、技术总监cto) 2.画架构图,将架构分解成各种模块(架构师) 3.各模块实施和测试(运维工程师&…

Asp.NET MVC 拍卖网站,拆解【1】预览与目录

本人最近带创业团队基本做完了一个艺术品拍卖的外包项目,分为网站前台(asp.net mvc5),网站管理员管理的后台使用的9900端口(asp.net mvc5),监听拍卖状态的windows服务,为手机端提供服…

html5相关网站

2019独角兽企业重金招聘Python工程师标准>>> http://designmodo.com/ 非常非常多的下载资源 UI界面 http://www.cnblogs.com/lhb25/ 有很多好的文章 http://www.freebiesgallery.com/ 免费psd http://medialoot.com 免费模板 http://chocotemplates.com/ 模板下载 h…

如何解决国产TongWeb中间件启动之后无法访问网站管理后台界面

背景介绍:什么是国产TongWeb中间件呢? TongWeb7 是遵循 JavaEE7 Web Profile 规范的企业级应用服务器,它为企业应用提供了可靠、可伸缩、可管理和高安全的基础平台。同时具有功能完善、支持开放标准和基于组件开发、多层架构、轻量等特点&…

IIS 发布网站 ashx无法访问

IIS6 问题 1.是否安装相应的.net版本 2.查看.net版本是否一致 3.查看web 服务扩展中.net版本是否允许。 4.添加相应的MIME类型文件 在IIS中右键网站→属性→主目录→配置→添加 可执行文件路径:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 取消确认文件是…

网络爬虫-cnzz网站统计(umuuid参数加密破解)

总体来说算是比较easy的js加密 由于涉及到部分隐私 就简单说下该参数的加密思路 以马蜂窝为例 该网站使用的是CNZZ统计流量 首先抓包看参数,如图 可以比较清晰地看到 cnzz的统计是发起的这个get请求 然后看下这些参数 我们不确定的参数有 id / cnzz_eid / umuuid …

网站页面横幅维护以及实现方案(含详细代码)

在很多中小型的网站开发公司来讲,承担网站建设后的日常维护是极为重要的一部分工作;也为了后续的其他产品的推广积攒更好的客户关系;网站维护的现状绝大多数都是内容维护,功能维护及新增频率会少很多,针对于此现状&…

如何在电脑上测试手机网站(补充)和phonegap

颜海镜 介绍了专业人士精准测试手机网站的经验 http://www.cnblogs.com/yanhaijing/p/3557261.html, 因为太专业了,稍显复杂和琐碎,这里我介绍下我一直关注的的 inter XDK 去年的 xdk 是浏览器插件,今年用nodejs重写了,可见前端会…

Windows Azure 网站自愈

编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Apurva Joshi 撰写。 您有多少次在半夜被叫醒去解决一个仅需重新启动网站即可解决的问题?要是可以自动检测一些状况并自动恢复该有多好! 随着 Windows Azure 网站 (WAWS) 最新更新的推…

win2008r2的iis7.5手动建站方法,iis7.5中用独立用户建立网站的方法,提高网站安全性...

win2003的iis6手动建站方法,iis6中用独立用户建立网站的方法,提高网站安全性,我们前面的教程有说明,请看http://www.piis.cn/zhishi/web574.asp 现在我们说下在WIN2008R2环境中IIS7.5中手动建立网站并设置网站安全的方法: 设置以上身份…

快速排名 让人疯狂的黑帽seo技术

对于黑帽seo大家或许并不陌生,黑帽seo和白帽seo恰恰相反,是作弊手段。有白帽seo的时候,就有了黑帽seo一直到现在。但隔行如隔山这句话这句话一点都没错,再没接触黑帽seo技术之前我根本不知道黑帽seo能这么快的排名。今天我就解密下…

网站页面横幅维护以及实现方案(含详细代码)

在很多中小型的网站开发公司来讲,承担网站建设后的日常维护是极为重要的一部分工作;也为了后续的其他产品的推广积攒更好的客户关系;网站维护的现状绝大多数都是内容维护,功能维护及新增频率会少很多,针对于此现状&…