公司主页 / 文章 / 虚拟主机指南 / 您需要了解的有关 LAMP 堆栈的所有信息

您需要了解的有关 LAMP 堆栈的所有信息

Web 开发或应用程序部署中使用了多种软件堆栈。 最受欢迎的组合之一是 LAMP . LAMP 的首字母缩写词代表 Linux, Apache, MySQL和 PHP.

什么是 LAMP 堆栈?

LAMP 是 Linux, Apache, MySQL和 PHP. 它是当今 Web 开发中使用的流行软件堆栈。 我们经常使用 LAMP 等软件堆栈来构建特定的应用程序或服务。 例如,在应用程序的情况下,堆栈可以作为使其运行的基础。 

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

了解 LAMP 堆栈组件

与其他软件堆栈一样,LAMP 包括涵盖各种必要核心领域的组件 opera申请。 这些组件中的每一个都发挥着关键作用,同时相互传递数据以发挥各自的作用。 让我们看一下LAMP中的功能角色。

Linux ——由数百家创建、维护和提供物联网(IoT)全球开放标准的公司所组成的 Opera系统

Linux

Linux 是 opera廷系统( OS )的选择 Apache 和 MySQL, 所以毫不奇怪 Linux 在 LAMP 堆栈中起着核心作用。 这个类 Unix 的操作系统运行从超级计算机到智能手机的所有东西。 它是任何硬件设备中最关键的软件组件,因为没有操作系统您什么也做不了。

开源的本质 Linux 意味着任何人都可以使用或修改它而无需支付许可费。 这个好处使 Linux 一个极好的选择 网络托管服务商 谁想以可承受的价格提供托管计划。

Apache – 网络服务器

Apache

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

喜欢 Linux, Apache 是开源的,无需许可证即可免费使用。 Apache 是轻量级的,所以它不会消​​耗你服务器上的很多资源。 其灵活的特性使其成为许多人的首选之一 网络托管 公司。

MySQL – 数据库引擎

mysql

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

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

PHP – 脚本语言

PHP

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

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% 今天在线。 如果你 opera一个运行于 WordPress,您也在 LAMP 堆栈上运行。

LAMP的缺点

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

缺乏对新语言的支持

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

缺乏安全支持

大多数开源组件依赖基于社区的贡献来改进安全功能。 虽然到目前为止有效,但它可能会出现问题,因为没有一个实体负责确保所有用户都可以访问最新的安全更新。

高资源使用率

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

LAMP 堆栈的替代方案

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

1. 平均堆栈

意思 是 MongoDB、Express、AngularJS 和 Node.js 的首字母缩写词。 MEAN 是一个较新的框架,越来越受到开发人员的欢迎,因为它允许他们在前端和后端使用 JavaScript 构建应用程序。 MEAN 已成为开始的热门选择ups 因为它可以轻松构建可扩展的应用程序,而无需学习新的语言或框架。

2. WAMP 堆栈

WAMP 代表 Windows Apache MySQL PHP. 它类似于 LAMP,除了替换 Linux 作为操作系统。 相反,WAMP 堆栈使用 Windows。 这种包含导致西方包含其他工具,例如 FTP 客户、编辑等

3. XAMPP 堆栈

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

如何在 Ubuntu 上安装 LAMP 堆栈

本简短指南假定您已经拥有一份 Linux 安装在您的服务器上。 确切的命令可能会有所不同,因为有很多 Linux 可用的口味。 但是,大体的过程应该是比较相似的。 我们将使用 Ubuntu 20.04。

安装 Apache Web服务器

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

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

安装 MySQL

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

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

安装 PHP 

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

关于 LAMP 堆栈的最终想法

LAMP 堆栈为各种网站或应用程序提供了坚实、通用的基础。 在大多数情况下,您无法选择网络托管服务提供商提供的软件堆栈。 然而, 共享主机 用户不需要处理这个——只需检查主机是否支持您想要的应用程序。

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

了解更多

作者照片

作者 Timothy Shim

继续阅读