LAMP 堆疊詳解

披露: HostScore 我們可能會從我們的連結中獲得佣金,一些供應商會付費在特定頁面上進行推廣。測試和性能數據是獨立收集的(詳情請參閱我們的方法說明價格單位為 USD 除非另有說明。

表中的內容

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

在 Web 開發或應用程式部署中使用多種軟體堆疊。最受歡迎的組合之一是 LAMP 。在本文中,我們將介紹有關 LAMP 堆疊您需要了解的所有內容。

什麼是 LAMP Stack?

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 – Web 伺服器

Apache - Web伺服器

Apache 是一個在 Linux 上運作的開源 Web 伺服器。 Web伺服器負責「監聽」和「服務」。每次收到來自網頁瀏覽器的請求時, Apache 將其傳遞給其他 LAMP 組件進行處理。準備好後, Apache 將請求的頁面傳送到網頁瀏覽器。

像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 應用程式。然後,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. MEAN 堆疊

MEAN 是 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 他擁有超過20年的網站建置和託管經驗。他創立了 HostScore 將實務經驗轉換為基於正常運作時間監控、速度測量、延遲檢查和負載測試的實用主機評測。
作者照片

更多HostScore內容

尋找一家擁有真實測試數據支援的網站託管商

HostScore 我們使用 TTFB(首字節到達時間)、正常運行時間、負載測試結果、延遲和核心網站指標來評估網站主機。我們的網站主機查找器會將這些結果與您的網站類型、預期流量和預算結合,從而推薦合適的選項。

了解每家主機商如何滿足您的需求,需要檢查哪些限制,以及需要權衡哪些優點和缺點。

試試網站託管查找器(免費)