Apache2

Table of contents

背景

Window系統如何安裝Apache2 網路伺服器?

安裝程序

在 Windows 系統 上安裝 Apache 2 網頁伺服器,可以透過 Apache Lounge 提供的 Windows 版本來安裝,以下是詳細步驟:

方法 1:使用 Apache Lounge 安裝(建議)

步驟 1:下載 Apache 伺服器 • 前往 Apache Lounge 官方網站 • 下載 最新的 Windows 版 Apache 2.x(Win64 或 Win32)

步驟 2:解壓縮 Apache • 將下載的 ZIP 檔案解壓縮到 C:\Apache24(或其他目錄) • 例如:C:\Apache24\bin\httpd.exe 是 Apache 主要執行檔

步驟 3:安裝 Apache 為 Windows 服務 1. 打開命令提示字元(cmd),並以 系統管理員身分 執行 2. 移動到 Apache 安裝目錄:

cd C:\Apache24\bin

3.	安裝 Apache 服務:

httpd.exe -k install

4.	啟動 Apache 服務:

httpd.exe -k start

5.	確認 Apache 是否運行:
•	在瀏覽器中打開 http://localhost
•	如果看到「It works!」,表示 Apache 成功運行

方法 2:使用 XAMPP 安裝(適合初學者)

如果不想手動配置,可以使用 XAMPP(內建 Apache、MySQL、PHP): 1. 下載 XAMPP 2. 安裝後,在 XAMPP 控制面板 點擊「Start」啟動 Apache 3. 在瀏覽器輸入 http://localhost 確認是否運行

Apache 重要設定

修改 httpd.conf 配置

Apache 的主要設定檔案位於:

C:\Apache24\conf\httpd.conf

•	修改 監聽埠(Port):

Listen 8080

這樣 Apache 會在 http://localhost:8080 運行

•	修改 網站根目錄:

DocumentRoot “C:/www” <Directory “C:/www”> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>

這樣網站根目錄變成 C:\www

如何移除 Apache • 停止服務:

httpd.exe -k stop

•	移除 Apache 服務:

httpd.exe -k uninstall

•	手動刪除 C:\Apache24 目錄

結論

安裝方式適合對象特點
Apache Lounge(手動安裝)進階用戶可手動設定,較靈活
XAMPP(自動安裝)初學者一鍵安裝,內建 MySQL、PHP

如果你只需要 Apache 網頁伺服器,建議 使用 Apache Lounge,可獨立安裝、靈活配置。

記憶體管理

看來httpd.conf MaxMemFree這個值越大越好?

MaxMemFree 這個值並不是越大越好,需要根據實際情況調整。

MaxMemFree 是什麼?

它控制 Apache HTTPD 釋放空閒記憶體的上限。當一個子行程 (worker) 釋放記憶體時,如果空閒記憶體超過 MaxMemFree 設定值,Apache 會將超出的部分釋放回作業系統,以避免佔用過多的 RAM。

設定 MaxMemFree 的考量

•	值太小 (如 64 KB) → Apache 經常釋放記憶體,導致效能下降,因為每次請求都可能重新分配記憶體。
•	值太大 (如 1024 MB) → Apache 可能長時間佔用大量記憶體,即使不再需要,造成 記憶體浪費,甚至導致系統 Out of Memory (OOM)。

最佳設定方式

•	如果記憶體夠多(如 16GB 以上 RAM),可以設較大,例如:

MaxMemFree 512

•	如果系統 RAM 較少(如 4GB 以下),建議設定較小,例如:

MaxMemFree 128

•	預設值通常是 0,表示 Apache 會使用 C 標準函式庫的 malloc() 行為,不會主動釋放記憶體。

如何找出最佳數值?

1.	監控 Apache 記憶體使用情況:
ps auxgrep httpd

或使用 htop/top 觀察 Apache 進程的 RES (實際記憶體使用)。

2.	如果發現 Apache 進程的記憶體隨時間增長但未釋放,可能需要降低 MaxMemFree。
3.	若 Apache 經常重新分配記憶體,影響效能,可以適當提高 MaxMemFree。

結論

•	MaxMemFree 不應該設定得太大,否則可能導致 Apache 長時間佔用不必要的記憶體。
•	依據系統 RAM 大小調整,避免記憶體浪費或頻繁釋放導致效能下降。
•	觀察 Apache 記憶體使用情況,再決定合適的 MaxMemFree 設定值。