LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的自由软件:Linux,操作系统;Apache,网页服务器;MySQL,数据库管理系统(或者数据库服务器);PHP 和有时Perl 或 Python,脚本语言。
lamp - 起源
LAMP这个特定名词最早出现在1998年。当时,Michael Kunze为德国计算机杂志c't写作的一篇关于自由软件如何成为商业软件替代品的文章时,创建了LAMP这个名词,用来指代Linux 操作系统、Apache网络服务器、MySQL 数据库和PHP (Perl或Python)脚本语言的组合(由四种技术的开头字母组成)。由于IT世界众所周知的对缩写的爱好,Kunze提出的LAMP这一术语很快就被市场接受。O'Reilly和MySQL AB更是在英语人群中推广普及了这个术语。随之LAMP技术成为了开源软件业的一盏真正的明灯。
目前,几乎在所有的Linux发布版中都默认包含了“LAMP stack”的产品。这些产品组成了一个强大的Web应用程序平台。“LAMP stack”中的每一个组件都是一个FOSS(免费或者开源软件/Free or Open Source Software)的实例。FOSS方法的好处有三个方面。第一,FOSS软件的性质意味着应用程序可以免费下载,能够让更广泛的人们不用付费就可以使用这个应用软件。这种免费的方式对于广大用户特别具有吸引力。这些用户如果不使用免费的软件就需要付费购买“专业”的商用软件工具。这在制作网站方面通常是一种昂贵的步骤。FOSS许可证是开放式的,因此对于基于FOSS技术的应用软件的使用和限制都非常少。不需要为软件的发布支付任何许可证费就可以开发和应用基于LAMP的工程。因此,这对业余爱好者和专业人员都非常有吸引力。FOSS技术(包括LAMP)的增长和使用的主要原因是因为用户能够访问其资源,修复故障和改善应用软件的性能都非常容易。与开源软件许可证结合在一起,这种方法为许多企业简化了开发过程,并且为企业提供了专有软件或者商业软件的限制中所没有的灵活性。
lamp - 平台组成
LAMP 平台由几个组件组成,呈分层结构。每一层都提供了整个软件栈的一个关键部分:
Linux和windows:Linux和windows 处在最低层,提供操作系统。其他每个组件实际上也在其上运行。但是,并不一定局限于Linux和windows,如有必要,其他组件包括: Mac OS X 或 UNIX。
Apache:次低层是 Apache,它是一个 Web 服务器。Apache 提供可让用户获得 Web 页面的机制。Apache 是一款稳定的、支持关键任务的服务器,Internet 上超过 65% 的网站都使用它作为 Web 服务器。PHP 组件实际上是在 Apache 中,动态页面可以通过 Apache 和 PHP 创建。
MySQL:MySQL 提供 LAMP 系统的数据存储端。有了 MySQL,便可以获得一个非常强大的、适合运行大型复杂站点的数据库。在 Web 应用程序中,所有数据、产品、帐户和其他类型的信息都存放在这个数据库中,通过 SQL 语言可以很容易地查询这些信息。
HP:PHP 是一门简单而有效的编程语言,它像是粘合剂,可以将 LAMP 系统所有其他的组件粘合在一起。您可以使用 PHP 编写能访问 MySQL 数据库中的数据和 Linux 提供的一些特性的动态内容。
erl:Perl 是一种脚本语言。这表示它并不编译成可执行程序,而是在运行时进行解释的一组指令(脚本)。 Perl 是代表“实际抽取和报告语言”(practical extraction and report language) 的字首组合词。Perl 被誉为语言中的“瑞士军刀”。它功能强大且非常灵活。语言学家 Larry Wall 在廿世纪八十年代后期在 NASA 担任系统管理员时开发了 Perl。他创建 Perl 的目的是使构建报告的任务变得更简单。 Perl 现在用来执行许多任务。它也许是用于在 Web 上进行 CGI(公共网关接口)编程最流行的语言。其原因就是 Perl 是一种功能非常强大的文本处理器,而 Web 编程主要就是文本处理。另外,使用 Perl 通常比使用 C/C++、Java 或 Tcl 更简单,而且它比 Python 更早出现。Perl被称为是一种“胶水语言”。所谓胶水语言,也就是说它是可以用来将许多元素连接在一起的语言。
ython:Python一种交互式面向对象的解释型编程语言。 Python使用非常清晰的语法实现非常强大的功能。它具有模块、类、意外处理以及非常高级别的动态数据类型和动态定义。并且,它具有接口和库函数供多种系统调用。内建模块还可以使用C或C++语言方便地编写。对于用户界面的编程,Python同样能够胜任。 Python可以运行在Linux 、UNIX、Windows、DOS、OS/2、Mac以及Amiga等等多种环境下。 Python虽然有版权,但完全可以免费使用和分发,甚至是为了商业用途。