何謂 LAMP Stack? 

June 7, 2024 | 堆疊探討

Web 應用程式的開首十年,大多開發者均使用 LAMP 堆疊來回應 Web 瀏覽器的請求,這是最傳統建置網站的方法。所謂堆疊,是指用於建置、管理和執行web應用的一組程式軟體,以支援應用程式的視覺呈現、資料庫、聯網和安全。 

LAMP 堆疊包含四種軟體技術,這些技術在後台共同協作,以建立可執行的 Web 應用程式,LAMP 架構由以下四個部份組成。

1)Linux

Linux 是一個開放原始碼作業系統,是堆疊的第一層,支援上層的其他元件。

2)Apache

Apache 是一個開放原始碼 Web 伺服器,構成 LAMP 堆疊的第二層,Apache 模組可存放網站檔案,並透過使用 HTTP 的瀏覽器交換資訊。

3) MySQL

MySQL 是開放原始碼關聯式資料庫管理系統,這是 LAMP 堆疊的第三層。LAMP 模組使用 MySQL 來存放、管理和查詢關聯式資料庫中的資訊。

PHP

PHP 是一倜超文字預處理器,是 LAMP 堆疊的最後一層,它是一種指令碼語言,可讓網站執行動不斷變化的軟體資訊。

要注意的是,Web 開發人員通常會將 PHP 程式設計語言內嵌於 HTML 中,亦即撰寫在同一頁面上,以便在網站上顯示即時或更新的資訊。,

當您在瀏覽器中開啟網頁時,LAMP 堆疊將執行以下程序;

1)接收請求

Apache Web 伺服器會從瀏覽器接收傳入的請求。如果請求載入靜態檔案,Apache 伺服器會直接回應適當的內容。如果請求是針對動態內容,Apache 伺服器會將請求傳遞給 PHP 元件,PHP 元件會尋找並載入可處理請求的相應 PHP 檔案。

2)處理請求

PHP 檔案包含 PHP 函數,這是用於產生動態內容的程式碼,PHP 元件可處理 PHP 函數,如轉換測量單位或建立銷售圖表;若某些 PHP 函數可能需要來自資料庫的資訊,PHP 程式碼會從資料庫中擷取存放的資訊,並將其用於處理該函數。 

3) 傳回回應

PHP 將運算結果以 HTML 格式傳遞至 Web 伺服器Apache,而後者的HTTP 伺服器會將動態 HTML 結果傳送至使用者的瀏覽器,同時,還會將新資料存放在 MySQL 資料庫中。

以下課程,將為大家展現以上整個堆疊的細節。

Basic LAMP Stack – RedTechSchool