您需要了解的有關 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 包含的組件涵蓋了運行應用程序所需的各種核心領域。 這些組件中的每一個都發揮著關鍵作用,同時將數據相互傳遞以發揮其作用。 讓我們看一下LAMP中的功能角色。

Linux – 操作系統

Linux

Linux 是選擇的操作系統 (OS) Apache 及 MySQL, 所以毫不奇怪 Linux 在 LAMP 堆棧中起著核心作用。 這個類 Unix 的操作系統運行從超級計算機到智能手機的所有東西。 它是任何硬件設備中最關鍵的軟件組件,因為沒有操作系統您什麼也做不了。

開源的本質 Linux 意味著任何人都可以使用或修改它而無需支付許可費。 這個好處使 Linux 一個極好的選擇 網絡託管服務商 誰想以可承受的價格提供託管計劃。

Apache – 網絡服務器

Apache

Apache 是一個開源的網絡服務器 在 Linux。 “ Web服務器 負責“傾聽”和“服務”。 每次它收到來自網絡瀏覽器的請求時, Apache 將其傳遞給其他 LAMP 組件進行處理。 準備好後, Apache 將請求的頁面發送到 Web 瀏覽器。

Like 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% 今天上線。 如果您運營的網站在 WordPress 上運行,那麼您也在 LAMP 堆棧上運行。

LAMP的缺點

儘管 LAMP 堆棧具有顯著優勢,但它並不完美。 在這裡,我們將考慮使用 LAMP 的一些缺點以及它對一些小眾用戶可能意味著什麼。

缺乏對新語言的支持

PHP 專為 Web 開發而設計並保持專注。 同時,已經創建了專門用於數據科學等場景的其他語言,例如 R。LAMP 堆棧不支持這些語言,因此如果您想在服務器設置中使用它們,則需要從頭開始。

缺乏安全支持

大多數開源組件依賴基於社區的貢獻來改進安全功能。 雖然到目前為止有效,但它可能會出現問題,因為沒有一個實體負責確保所有用戶都可以訪問最新的安全更新。

高資源使用率

Apache 及 MySQL 根據需要處理的流量,可能會降低您的應用程序性能。 如果不加以控制,這種放緩將增加成本(儘管有辦法解決這個問題)。

LAMP 堆棧的替代方案

雖然 LAMP 很受歡迎,但它絕不是唯一可用的軟件堆棧。 以下是您可能需要考慮作為 LAMP 堆棧替代品的其他一些軟件堆棧:

1. 平均堆棧

MEAN 是 MongoDB、Express、AngularJS 和 Node.js 的首字母縮寫詞。 MEAN 是一個受到開發人員歡迎的較新框架,因為它允許他們在前端和後端使用 JavaScript 構建應用程序。 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 服務正在運行,輸入 須藤系統控制狀態 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