LAMP 堆栈详解

免责声明:HostScore由读者支持运营。当您通过我们的链接进行购买时,我们可能会获得佣金。本网站所有价格均以美元 (USD) 显示,除非另有说明。

目录

向 AI 諮詢本頁內容::
ChatGPT
克劳德
Perplexity
Grok
Google AI

Web 开发或应用程序部署中使用了多种软件堆栈。 最受欢迎的组合之一是 LAMP . 在本文中,我们将介绍有关 LAMP 堆栈您需要了解的所有内容。

什么是 LAMP 堆栈?

LAMP 是 Linux 的缩写, Apache, MySQL和 PHP它是当今 Web 开发中流行的软件栈。我们经常使用 LAMP 之类的软件栈来构建特定的应用程序或服务。

例如,对于应用程序而言,堆栈可能作为使其能够运行的基础。 

一个明确的证明是 WordPress,这需要 LAMP 堆栈的所有组件。然而,这并不是一个硬性规定 WordPress 或任何其他应用程序必须使用 LAMP 堆栈。 存在不同的 LAMP 变体,例如 LEMP、LAPP、LEAP 等。

了解 LAMP 堆栈组件

与其他软件堆栈一样,LAMP 包含涵盖应用程序运行所需的各个核心领域的组件。每个组件在相互传递数据以发挥作用的同时,都发挥着关键作用。让我们来看看 LAMP 中的功能角色。

Linux – 操作系统

Linux 操作系统

Linux 是 Apache 和 MySQL因此,Linux 在 LAMP 技术栈中扮演核心角色也就不足为奇了。这个类似 Unix 的操作系统运行着从超级计算机到智能手机的各种设备。它是任何硬件设备中最关键的软件组件,因为没有操作系统,什么都做不了。

Linux 的开源特性意味着任何人都可以使用或修改它,而无需支付许可费用。这一优势使得 Linux 对于网络托管服务提供商来说是一个绝佳的选择 谁想以可承受的价格提供托管计划。

Apache – 网络服务器

Apache - Web 服务器

Apache 是一个运行在 Linux 上的开源 Web 服务器。该 Web 服务器负责“监听”和“服务”。每次收到来自 Web 浏览器的请求时, Apache 将其传递给其他 LAMP 组件进行处理。 准备好后, Apache 将请求的页面发送到 Web 浏览器。

像Linux一样, Apache 是开源的,无需许可证即可免费使用。 Apache 它轻量级,不会占用太多服务器资源。其灵活性使其成为许多网络托管公司的首选之一。

MySQL – 数据库引擎

MySQL - 数据库引擎

数据库引擎是大多数现代计算系统的主力。它们管理数据,使其可供应用程序使用,并提供管理数据的工具。数据库引擎有多种不同的形式。有些是为特定任务(例如电子商务)而设计的,而有些则是通用解决方案。

MySQL 是一个关系数据库管理系统(RDBMS)。 关系数据库是 Web 应用程序中最常用的数据库类型。 它们易于使用并允许快速数据访问。

PHP – 脚本语言

PHP - 脚本语言

PHP 是 Rasmus Lerdorf 在 1994 年创建的一种服务器端语言。您可以将其用作 Web 开发的脚本语言。 例如, PHP 与 HTML 和 CSS 协同工作,为网站、网络应用程序和其他在线服务创建动态内容。

PHP 是 LAMP 技术栈中使用的三种主要语言之一。其他替代方案包括 Perl 和 Python。通常,Web 应用程序的性质决定了 LAMP 堆栈中使用的脚本语言。

LAMP堆栈如何工作?

LAMP 堆栈中的每个应用程序都提供一组特定的服务,有助于实现更高级别的功能。 最常见的是,此功能是创建一个能够支持各种应用程序的 Web 服务器。

首先, Apache 接收来自网络浏览器的请求。 它将请求传递给 Web 应用程序。 然后,Web 应用程序查询数据库引擎并返回请求的信息。 然后数据返回 Apache,这会将其发送到发出请求的 Web 浏览器。

LAMP 的各个组件通过设计为通用且抽象的接口相互通信。这些接口通常被称为应用程序编程接口 (API)。良好的 API 设计应该足够灵活,以支持多种实现,并高效地利用资源。

谁使用 LAMP?

由于 LAMP 堆栈的多功能性,它是网络托管行业使用最广泛的软件堆栈之一。您可以使用 LAMP 运行几乎任何 Web 应用程序。这些包括 WordPress、Drupal、Joomla、LMS 等等。 

在的角度来看 WordPress 仅此一项,就使 LAMP 堆栈成为全球主导的软件堆栈。 WordPress 权力 超过所有网站的40% 今天在线。如果你运营一个运行在 WordPress,您也在 LAMP 堆栈上运行。

LAMP的缺点

尽管 LAMP 堆栈具有显着优势,但它并不完美。 在这里,我们将考虑使用 LAMP 的一些缺点以及它对一些小众用户可能意味着什么。

缺乏对新语言的支持

PHP 专为 Web 开发而设计,并始终保持专注。与此同时,其他一些语言也专门为数据科学等场景而创建,例如 R。LAMP Stack 不支持这些语言,因此如果您想在服务器设置中使用它们,则需要从头开始。

缺乏安全支持

大多数开源组件依赖社区贡献来改进安全功能。虽然目前看来这种方法有效,但也可能存在问题,因为没有一个实体负责确保所有用户都能获得最新的安全更新。

高资源使用率

Apache 和 MySQL 根据需要处理的流量,可能会降低您的应用程序性能。 如果不加以控制,这种放缓将增加成本(尽管有办法解决这个问题)。

LAMP 堆栈的替代方案

虽然 LAMP 很受欢迎,但它绝不是唯一可用的软件堆栈。 以下是您可能需要考虑作为 LAMP 堆栈替代品的其他一些软件堆栈:

1. 平均堆栈

意思 是 MongoDB、Express、AngularJS 和 Node.js 的首字母缩写。MEAN 是一个较新的框架,由于允许开发人员使用以下代码构建应用程序而越来越受到开发人员的欢迎 Java前端和后端均有脚本。MEAN 已成为初创企业的热门选择,因为它可以轻松构建可扩展的应用程序,而无需学习新的语言或框架。

2. WAMP 堆栈

WAMP 代表 Windows Apache MySQL PHP它与 LAMP 类似,只是取代了 Linux 作为操作系统。相反,WAMP 堆栈使用 Windows。这种纳入导致西方国家也纳入了其他工具,例如 FTP 客户、编辑等

3. XAMPP 堆栈

XAMPP 代表跨平台(多操作系统), Apache, MySQL, PHP和 Perl默认发行版包含所有四个组件,但您也可以单独安装它们。XAMPP 可在 Windows、macOS 和 Linux 操作系统上使用,并且可用于创建测试环境,而无需在服务器上安装整个 LAMP 堆栈。

如何在 Ubuntu 上安装 LAMP 堆栈?

本简短指南假设您的服务器上已安装 Linux。由于 Linux 版本众多,具体命令可能有所不同。但总体流程大致相同。我们将使用 Ubuntu 20.04。

安装 Apache Web服务器

  1. 更新你的本地包索引 sudo apt update
  2. 安装 Apache2与 sudo apt安装apache2
  3. 为了确认 Apache 服务正在运行,输入 sudo systemctl status apache2
  4. 接下来,我们需要修改防火墙设置并增加安全性。 打字 sudo ufw应用程序列表 将显示可用的防火墙模式。 一般来说,这些将是 Apache, Apache 满,和 Apache 安全。 

首先,您只需使用“Apache” 因为它将禁止除端口 80 之外的所有访问。使用以下命令执行此操作; sudo ufw 允许'Apache和

安装 MySQL

  1. 一旦 Apache 启动并运行,我们继续安装 MySQL. 随着您的存储库索引已经更新,您可以运行 MySQL 使用以下命令安装服务器; sudo apt安装mysql-server
  2. 同样,您可以使用 systemctl 命令验证安装; sudo systemctl 启动 mysql.service
  3. 全部新鲜 MySQL 安装非常简单,基本的配置任务之一是加强安全性。 值得庆幸的是,有一个可以快速部署的安全包; sudo mysql_secure_installation

运行该命令将导致脚本出现一系列配置问题,以进行必要的安全更改。 

安装 PHP 

Linux 自带 PHP 在存储库中,但您需要安装该软件包。 使用的命令取决于哪个 PHP 要部署的版本。 例如,要安装 PHP 7.4 运行 sudo apt install php7.4。

总结

LAMP 堆栈为各种网站或应用程序提供了坚实、多功能的基础。大多数情况下,您无法选择虚拟主机提供商提供的软件堆栈。但是,共享主机用户无需处理这个问题——只需检查主机是否支持您想要的应用程序即可。

像 LAMP 这样的软件栈在以下情况下发挥作用 转向虚拟专用服务器(VPS)。在这里您可以充分利用 LAMP 的多功能性,甚至可以构建适合您需求的自定义环境。

关于作者: Jerry Low

Jerry Low 深耕网站技术领域十多年,从零开始打造过多个成功的网站。作为一名自称“极客”的他,把推动主机行业透明与诚信视为自己的终身使命。
作者照片

更多HostScore内容

找到合适的网站主机

不确定哪种主机方案适合您的网站?网站主机查找器会根据您网站的实际需求(工作负载、使用情况和优先级)匹配真正合适的主机选项。

建自 HostScore凭借其真实的托管经验和性能研究,它可以帮助您避免支付过高的费用、资源配置不足或选择无法扩展的方案。

试试网站托管查找器(免费)