主页
topics
lamp stack
您可能听说过有关 LAMP 软件栈的一些信息。 这不足为奇,因为目前一些最受欢迎的开源 Web 应用都在 LAMP 上运行,例如 WordPress 和 Drupal。
但 LAMP 值得称道的优点还有很多。 它是面向 Web 的首批开源软件栈之一,目前仍然是交付 Web 应用的最常用方法之一。 在您的职业生涯中,更新或托管现有应用时,您可能会看到该软件栈被广泛而频繁地使用。 许多人认为它是开发新的定制 Web 应用的首选平台。
稳定、简单、强大 - 这些词最常用于描述 LAMP 的特点。 所有这些特点都使 LAMP 值得学习;这种技能可以让任何开发人员的简历增色不少。
LAMP 是 Linux、Apache、MySQL 和 PHP 的缩写。 它们共同提供了一套经过检验的软件,能够帮助交付高性能的 Web 应用。 每个组件都为该软件栈提供不可或缺的功能:
PHP 旨在提高效率。 它使编程更轻松、更有趣 - 您编写新代码后,点击刷新,就可以立即看到所产生的变更,而无需编译。 如果您愿意,可以用 Perl 或日益流行的 Python 语言取代 PHP。
LAMP 具有典型的分层架构,Linux 处于最低级别。 接下来便是 Apache 和 MySQL 层,最上面是 PHP。 虽然 PHP 名义上是顶层,也就是表示层,但 PHP 组件位于 Apache 中。
通过在较高层面查看 LAMP 软件栈的执行顺序,了解各元素如何相互协同。 当 Apache Web 服务器从用户的浏览器接收网页请求时,即启动流程。 如果请求针对 PHP 文件,Apache 就会将请求传递到 PHP,后者加载文件并执行文件中包含的代码。 PHP 还与 MySQL 通信,访存代码中引用的任何数据。
然后,PHP 使用文件中的代码和来自数据库的数据,创建浏览器显示网页所需的 HTML。 LAMP 软件栈不仅能够有效处理静态网页,还能处理动态页面,在动态页面中,可根据日期、时间、用户身份和其他因素,每次加载时更改内容。
运行文件代码后,PHP 会将生成的数据传回 Apache Web 服务器,以发送到浏览器。 它还可以将此新数据存储在 MySQL 中。 当然,所有这些操作都由在技术栈底层运行的 Linux 操作系统提供支持。
虽然 LAMP 使用 Linux 作为操作系统,但您可将其他组件与其他操作系统配合使用,满足自己的特定需求。 例如,WAMP 软件栈使用 Microsoft Windows;MAMP 软件栈使用 Mac OS;WIMP 使用 Microsoft 的 Windows 和 Internet Information Services Web 服务器。
因为 LAMP 都是开源的非专有软件,所以您可以避免被供应商锁定。 您可以灵活地为特定项目或业务需求选择合适的组件。
LAMP 还以其他方式提供灵活性。 Apache 的设计是模块化的,您会发现存在可用于许多不同扩展的现有可定制模块。 这些模块或用于支持其他语言,或用于认证,功能非常广泛。
LAMP 的另一个优点是其安全架构和成熟的加密实践,它们已在企业中得到验证。
LAMP 可以帮助您缩短开发时间。 由于 LAMP 是开源软件栈,已有十多年的历史,因此目前已形成牢固的 LAMP 生态系统。 您可以基于别人过去的工作,开发自己的成果。 在 Apache 模块中工作时,您可以使用 80% 的已有工作,定制最后那 20% 的部分,从而节省大量时间。