什麼是 LAMP 堆疊?
LAMP 堆疊是指一組免費的開放原始碼元件,可互相搭配運作,協助開發人員建構、部署及管理動態網頁應用程式。
相關文章
引言
Michael Kunze 在 1998 年首次將 LAMP 一詞定義為一套免費的開放原始碼元件,搭配使用可協助開發人員建構、部署及管理動態網路應用程式。由於集合元件或層可共同構成完整的功能環境,因此稱為「堆疊」。
堆疊的每個元件或層都是免費的開放原始碼,因此人人都能使用。元件名稱的第一個字母組成 LAMP 縮寫:
- Linux - 作業系統
- Apache - 網路伺服器
- MySQL - 資料庫伺服器
- PHP、Perl 和 Python - 程式設計語言
架構
我們將說明各個層如何搭配運作,以便提供完整的解決方案來交付網路應用程式。下圖說明所有不同元件如何搭配運作,以建立堆疊。
作業系統
Linux 是 LAMP 堆疊的作業系統 (OS) 和基礎。Linux 於 1991 年推出,是一款免費的開放原始碼作業系統,廣受全球使用者喜愛。它是開放原始碼、有彈性且可自訂,可讓機構根據自身需求修改原始碼。另外三個 LAMP 堆疊元件則立於 Linux OS 之上。
網路伺服器
Apache HTTP Server 是一款網路伺服器,可透過網際網路提供網頁內容。Apache 於 1995 年推出,成為全球最熱門的網路伺服器之一。Apache 是 LAMP 堆疊中的第二個層,透過網際網路處理用戶端要求。使用超文本傳輸通訊協定 (HTTP) 可接受傳入的 HTTP 要求,然後提供相關的網頁內容。由於 Apache 是開放原始碼,因此這個強大的生態系統建立了許多模組,可擴充 Apache 的功能。這些模組包含驗證、加密、診斷、記錄等。
資料庫
MySQL 是一個開放原始碼關聯資料庫,用於儲存應用程式資料。MySQL 於 1996 年推出,現在是位居全球第二的熱門資料庫 (根據 DB-Engines 研究)。LAMP 堆疊會使用 MySQL 儲存、管理及查詢資料庫中的資訊。資訊包括使用者帳戶、使用者詳細資料、產品名稱、客戶記錄、銷售、應用程式等。使用者可使用結構化查詢語言 (SQL),輕鬆存取及操控儲存在資料庫中的資訊。
程式設計語言
LAMP 中的「P」原本是指 1995 年推出的程式設計語言 PHP,可用來建立動態網頁。隨著時間過去,「P」也涵蓋 Python 和 Perl 等在網站開發方面越來越受歡迎的非 PHP 語言。
目前,網站需要動態功能才能顯示即時或更新的資訊。由於 HTML 無法執行動態處理程序,因此您可以將 PHP、Perl 或 Python 程式碼嵌入需要此功能的網站部分。HTML 可用於網站版面配置,PHP、Perl 或 Python 則可用來取得即時資訊,例如檢查電子商務網站上的最新庫存。
運作方式
下面是簡化的工作流程,說明使用者在執行 LAMP 堆疊的動態網站上搜尋「棒球比數」的程序。每個層都是在 Linux 上執行,做為堆疊的基礎元素。
使用 LAMP 堆疊的好處
開發人員選擇 LAMP 堆疊來建構網路應用程式的常見原因包括:
費用
LAMP 使用量的主要驅動因素之一,在於它是免費的開放原始碼。也就是說,開發人員無須支付專屬軟體授權費,即可開始使用。這樣可大幅降低前測、建構、部署及管理網路應用程式的成本。
效率
由於 LAMP 堆疊的元件已成立將近 30 年,因此 LAMP 提供了經過嘗試與測試的網站開發解決方案。開發人員可以善用現有最佳做法、程式碼和工具,省時又省力。
彈性
由於 LAMP 為開放原始碼,可讓您根據自身需求和業務要求,靈活選擇合適的元件。LAMP 生態系統提供強大的建構模塊,例如程式碼範例、模組和擴充功能,可讓您依據自身需求加以自訂和混合。
Community
由於 LAMP 大受歡迎,由經驗豐富的專家所組成的廣大全球社群所提供的協助和支援,可讓您在專案的各個階段受益匪淺。這個強大而活躍的社群能夠讓更多人分享最佳做法、工具、資源,以及更快、一致的發布週期。
找到所需的解決方案了嗎?讓我們攜手解決您面臨的難題。
相關產品和服務
Google Cloud 提供 LAMP 堆疊的所有層,讓您建構下一個網路應用程式。您可以使用 Google Cloud Marketplace 或個別元件 (例如我們全代管的資料庫服務,MySQL 適用的 Cloud SQL) 開始部署完整的 LAMP 堆疊。