科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条
科技百科
  • 人气指数: 16776 次
  • 编辑次数: 2 次 历史版本
  • 更新时间: 2010-07-25
高兴
高兴
发短消息
高兴
高兴
发短消息
相关词条
bat
bat
Processing语言
Processing语言
固件
固件
SSID
SSID
LAMP
LAMP
Flash和HTML5
Flash和HTML5
沙盒
沙盒
六种主要计算机语言优缺点
六种主要计算机语言优缺点
系统集成
系统集成
间谍软件
间谍软件
推荐词条
希拉里二度竞选
希拉里二度竞选
《互联网百科系列》
《互联网百科系列》
《黑客百科》
《黑客百科》
《网络舆情百科》
《网络舆情百科》
《网络治理百科》
《网络治理百科》
《硅谷百科》
《硅谷百科》
2017年特斯拉
2017年特斯拉
MIT黑客全纪录
MIT黑客全纪录
桑达尔·皮查伊
桑达尔·皮查伊
阿里双十一成交额
阿里双十一成交额
最新词条

热门标签

微博侠 数字营销2011年度总结 政务微博元年 2011微博十大事件 美国十大创业孵化器 盘点美国导师型创业孵化器 盘点导师型创业孵化器 TechStars 智能电视大战前夜 竞争型国企 公益型国企 2011央视经济年度人物 Rhianna Pratchett 莱恩娜·普莱契 Zynga与Facebook关系 Zynga盈利危机 2010年手机社交游戏行业分析报告 游戏奖励 主流手机游戏公司运营表现 主流手机游戏公司运营对比数据 创建游戏原型 正反馈现象 易用性设计增强游戏体验 易用性设计 《The Sims Social》社交亮 心理生理学与游戏 Kixeye Storm8 Storm8公司 女性玩家营销策略 休闲游戏的创新性 游戏运营的数据分析 社交游戏分析学常见术语 游戏运营数据解析 iPad风行美国校园 iPad终结传统教科书 游戏平衡性 成长类型及情感元素 鸿蒙国际 云骗钱 2011年政务微博报告 《2011年政务微博报告》 方正产业图谱 方正改制考 通信企业属公益型国企 善用玩家作弊行为 手机游戏传播 每用户平均收入 ARPU值 ARPU 游戏授权三面观 游戏设计所运用的化学原理 iOS应用人性化界面设计原则 硬核游戏 硬核社交游戏 生物测量法研究玩家 全球移动用户 用户研究三部曲 Tagged转型故事 Tagged Instagram火爆的3大原因 全球第四大社交网络Badoo Badoo 2011年最迅猛的20大创业公司 病毒式传播功能支持的游戏设计 病毒式传播功能 美国社交游戏虚拟商品收益 Flipboard改变阅读 盘点10大最难iPhone游戏 移动应用设计7大主流趋势 成功的设计文件十个要点 游戏设计文件 应用内置付费功能 内置付费功能 IAP功能 IAP IAP模式 游戏易用性测试 生理心理游戏评估 游戏化游戏 全美社交游戏规模 美国社交游戏市场 全球平板电脑出货量 Facebook虚拟商品收益 Facebook全球广告营收 Facebook广告营收 失败游戏设计的数宗罪名 休闲游戏设计要点 玩游戏可提高认知能力 玩游戏与认知能力 全球游戏广告 独立开发者提高工作效率的100个要点 Facebook亚洲用户 免费游戏的10种创收模式 人类大脑可下载 2012年最值得期待的20位硅谷企业家 做空中概股的幕后黑手 做空中概股幕后黑手 苹果2013营收 Playfish社交游戏架构

lampLinux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.
目录

[显示全部]

LAMP由来编辑本段回目录

基于
  LAMP是基于Linux,Apache,MySQL和PHP的开放资源网络开发平台,PHP是一种有时候用Perl或Python可代替的编程语言。这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境。名字来源于每个程序的第一个字母。每个程序在所有权里都符合开放源代码标准:Linux是开放系统;Apache是最通用的网络服务器;mySQL是带有基于网络管理附加工具的关系数据库;PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效。开发者在Windows操作系统下使用这些Linux环境里的工具称为使用WAMP。
比较
  虽然这些开放源代码程序本身并不是专门设计成同另外几个程序一起工作的,但由于它们都是影响较大的开源软件,拥有很多共同特点,这就导致了这些组件经常在一起使用。在过去的几年里,这些组件的兼容性不断完善,在一起的应用情形变得更加普遍。并且它们为了改善不同组件之间的协作,已经创建了某些扩展功能。目前,几乎在所有的Linux发布版中都默认包含了这些产品。Linux操作系统、Apache服务器、MySQL数据库和Perl、PHP或者 Python语言,这些产品共同组成了一个强大的Web应用程序平台。
前景
  越来越多的供应商、用户和企业投资者日益认识到,经过LAMP单个组件的开源软件组成的平台用来构建以及运行各种商业应用和协作构建各种网络应用程序变为一种可能和实践,变得更加具有竞争力,更加吸引客户。LAMP无论是性能、质量还是价格都将成为企业、政府信息化所必须考虑的平台。

LAMP名称起源编辑本段回目录

1998年
  LAMP这个特定名词最早出现在1998年。当时,Michael Kunze为德国计算机杂志c't写作的一篇关于自由软件如何成为商业软件替代品的文章时,创建了LAMP这个名词,用来指代Linux 操作系统、Apache网络服务器、MySQL 数据库和PHP (Perl或Python)脚本语言的组合(由四种技术的开头字母组成)。由于IT世界众所周知的对缩写的爱好,Kunze提出的LAMP这一术语很快就被市场接受。O'Reilly和MySQL AB更是在英语人群中推广普及了这个术语。随之LAMP技术成为了开源软件业的一盏真正的明灯。事实上,LAMP,正像一盏开源明灯指引着我们前进的方向!
LAMP是一个缩写
  它指一组通常一起使用来运行动态网站或者服务器的自由软件:   Linux,操作系统; Apache,网页服务器; MySQL,数据库管理系统(或者数据库服务器); PHP 和有时 Perl或 Python,脚本语言。 虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的廉价和普遍,这个组合开始流行(大多数Linux发行版本捆绑了这些软件)。当一起使用的时候,它们表现的像一个具有活力的解决方案包。 其他的方案包有Apple的 WebObjects(最初是应用服务器),Java/J2EE 和 微软的 .NET架构。
LAMP包
  的脚本组件中包括了CGIweb接口,它在90年代初期变得流行。这个技术允许网页浏览器的用户在服务器上执行一个程序,并且和接受静态的内容一样接受动态的内容。程序员使用脚本语言来创建这些程序因为它们能很容易有效的操作文本流,甚至当这些文本流并非源自程序自身时也是。正是由于这个原因系统设计者经常称这些脚本语言为胶水语言。
O'Reilly和MySQL AB
  的确,MySQL AB 自己的市场推广在某种程度上基于LAMP包的推广。其他的项目和厂商则推行这个术语的一些变体,包括:LAPP(以PostgreSQL替代 MySQL) LAMP(最后两个字母意味着 Middleware和 PostgreSQL) WAM(以 Microsoft Windows 替代 Linux)

LAMP网站架构方案分析编辑本段回目录

 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网络应用和环境的优秀组合。

LAMP将长命百岁? 细看Web技术的养生之道编辑本段回目录

过去数年,代表Linux-Apache-MySQL-PHP的LAMP一直是最流行的Web开发平台,但新的平台,如Ruby on Rails,ASP.NET和J2EE在Web开发领域已经成为闪耀的明星,我们不禁想问,时至今日,LAMP仍然是Web开发最流行的选择吗?我目前认为它仍然是最流行的选择,LAMP之所以很受欢迎,是因为与其它平台相比,它具有很多优势。

成本低廉,扩展能力好

诚然,在比较开源的LAMP平台和商业化运作的,如J2EE或ASP.NET平台时,成本肯定是首先要考虑的因素,开源产品可免费下载使用,其本身 的成本很廉价,此外,LAMP对硬件的要求也较低,而J2EE和ASP.NET对硬件的要求要高一些,在Web托管领域,LAMP类型的托管服务通常比 J2EE和ASP.NET类型的要廉价一些。

有很多分析师认为LAMP虽然可以快速构建Web应用程序,但LAMP的扩展性并不好,要想取得良好的扩展能力付出的代价可能比当初构建Web应用 程序还要多,但根据我的经验,LAMP的扩展性不佳不是因为平台本身的原因,而是开发的原因,很多不具备扩展能力的代码都是开发人员的“杰作”,为此我还 专门研究了大量的Java和ASP代码,发现一样存在这个问题,最后发现经验不足的开发人员往往容易写出不具有良好扩展能力的代码,事实上,很多人根本不 是自己写的代码,而是从其它地方直接复制过来的。

部署量大,安全性高

LAMP因其部署量非常大,安全问题也更少,因为能发现的问题几乎都被翻了过遍,它也是全世界范围内测试最彻底的软件组合。

当然,我并不是说LAMP组合就没有安全问题了,但大多数时候LAMP中暴露的安全问题都是因缺少经验的开发人员未遵循最佳实践编写的代码包含漏洞,或经验不足的系统管理员未正确配置LAMP造成的。

灵活,稳定

LAMP也提供了非常好的灵活性,开发人员可以选择自己喜欢的框架,甚至构建自己的框架,其它平台通常包括它们自己的框架,可选择的余地很小,例 如,.NET框架是ASP.NET开发的唯一选择,J2EE是基于Java的框架,Rails则基于Ruby框架,使用PHP时,开发人员可以选择 CakePHP,CodeIgniter,Zend Framework等框架。

使用LAMP还有另一个好处,开发人员可以获得全部的源代码,因此可以自行修改LAMP中的软件,以满足特殊需要,例如,Apache Web服务器支持可装载模块,开发人员可以开发自己的模块来处理特殊的任务,如通过可装载模块在Apache内实现身份认证,LAMP给开发人员提供了很 好的选择灵活度。

LAMP一向以稳定而著称,新版本的向后兼容性通常也比较好,即便是升级到了新版本,开发人员也很少需要重写代码,LAMP的模块化特性使得它可高度配置,在稳定性方面,与商业化的ASP.NET或J2EE解决方案相比,LAMP也是毫不逊色的。

开发门槛低,系统成型快

因LAMP均可免费获得,使其变得非常流行,降低了开发人员进入LAMP的门槛,但ASP.NET和J2EE都有认证计划,开发人员可以遵循最佳实践开发,而要界定一名LAMP开发人员是否遵循最佳实践则很难。

前面我也提到ASP.NET和J2EE可选择的框架很少,虽然我一度认为这是一个缺点,但对于大型开发团队来说却是一个优点,可选择的余地很少可以 让整个团队成员保持一致的知识体系,在培训和沟通方面都会节省很多时间,而LAMP阵营因可选的机会太多,团队成员个体容易养成独立的开发习惯和见解,会 给团队协作带来很大麻烦,因此我认为LAMP更适合一个人的开发团队或小型团队使用。

使用LAMP可以快速搭建起系统的原型,成本也很低廉,这是LAMP的一大强项,对于初创公司而言,可以利用LAMP快速搭建一个系统原型,进而吸引投资人,尽快获得投资。

小结

无论如何,LAMP仍然是非常流行的Web开发平 台,其低廉的成本和进入壁垒使得很多开发商都选择了它,LAMP安全、稳定和良好的扩展性也吸引了不少企业用户,对于初创公司,LAMP可以帮助其快速搭 建系统原型,进而拿到投资,LAMP的灵活性也成为很多人选择它的理由。因此,我们可以肯定地得出结论:LAMP仍然是Web开发最流行的选择,在未来相 当长一段时间里,它会和其它竞争技术共存。

相关链接编辑本段回目录

参考文献编辑本段回目录

http://www.williamlong.info/archives/1908.html
http://www.cnbeta.com/articles/117396.htm
http://en.wikipedia.org/wiki/LAMP_(software_bundle)


→如果您认为本词条还有待完善,请 编辑词条

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
1

标签: LAMP

收藏到: Favorites  

同义词: 暂无同义词

关于本词条的评论 (共0条)发表评论>>

对词条发表评论

评论长度最大为200个字符。