LAMP
LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:
虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的廉价和普遍,这个组合开始流行(大多数Linux发行版本捆绑了这些软件)。当一起使用的时候,它们表现的像一个具有活力的“解决方案包”(Solution Packages)。其他的方案包有苹果的WebObjects(最初是应用服务器),Java/J2EE和微软的.NET架构。
“LAMP包”的脚本组件中包括了CGI web接口,它在90年代初期变得流行。这个技术允许网页浏览器的用户在服务器上执行一个程序,并且和接受静态的内容一样接受动态的内容。程序员使用脚本语言来创建这些程序因为它们能很容易有效的操作文本流,甚至当这些文本流并非源自程序自身时也是。正是由于这个原因系统设计者经常称这些脚本语言为胶水语言。
Michael Kunze在一篇为德国电脑杂志《c't》(1998,第12期,230页)而写的文章中使用了缩略语“LAMP”。这篇文章意在展示一系列的自由软件成为了商业包的替换物。由于IT世界众所周知的对缩写的爱好,Kunze提出“LAMP”这一容易被市场接受的术语来普及自由软件的使用。
变体
O'Reilly和MySQL AB在英语人群中普及了这个术语。MySQL AB自己的市场推广在某种程度上基于LAMP包的推广,其他的项目和厂商则推行这个术语的一些变体,包括:
- LAPP(以PostgreSQL替代MySQL)
- LAMP(最后两个字母意味着Middleware和PostgreSQL)
- LNMP[1]或LEMP[2](以Nginx替代Apache)
- WAMP(以Microsoft Windows替代Linux)
- MAMP(以Macintosh替代Linux)
- LAMJ(以JSP/servlet替代PHP)
- BAMP(以BSD替代Linux)
- SAMP(以Solaris替代Linux)
- WIMP(指Microsoft Windows, Microsoft IIS,MySQL, PHP)
- AMP(单指Apache, MySQL和PHP)
- XAMP(以XML替代Linux)[3]
- MEAN
一些人借用LAMP来描述一类可定制组成的系统,而不是制造一系列新词,并用它来表示这些系统和统一打包的页面开发环境的不同(例如ASP,.NET和J2EE)。
举例来说,維基百科运行的一系列软件具有LAMP环境一样的特点。Wikipedia使用MediaWiki软件,主要在Linux下开发,由Apache HTTP服务器提供内容,在MariaDB数据库中存储内容,PHP来实现程序逻辑。