要點

下載!

文件

概觀

此文件說明如何編譯和執行 flood。

Flood 是以 Apache Portable Runtime 為基礎建置的,特別是 apr 和 apr-util。

Flood 主要是在 Linux 和 Solaris 上開發。據悉在 FreeBSD 上也可以執行。由於 flood 是以 APR 為基礎建置,因此任何支援 APR 的平台都可以在不費太多工夫的情況下執行。我們預期 Win32 可以透過某些附加魔法執行,只要有人有時間和意願這麼做即可。APR 已完成絕大部分繁瑣的工作,但是目前沒有任何 flood 開發者使用 Win32。

檢出 flood

目前 flood 副本可透過 Subversion 取得。Flood 也依賴相同 Subversion 儲存庫中提供的 apr 和 apr-util 套件。

注意: Flood 會自動偵測並組態 APR 和 APR-util,只要它們位於適當的子目錄中。如果您已有安裝好的 APR 和 APR-util 副本(例如 httpd-2.0 或 Subversion 附帶的副本),您可以在組態時指定 --with-apr 和 --with-apr-util。

% svn co http://svn.apache.org/repos/asf/httpd/flood/trunk flood
% cd flood
% svn co http://svn.apache.org/repos/asf/apr/apr/trunk apr
% svn co http://svn.apache.org/repos/asf/apr/apr-util/trunk apr-util

組態 flood 和其依賴項

既然您已檢出所有必要的模組,現在便需要為您的平台產生組態腳本並執行它們。

Flood 和 SSL 支援

注意: 在 flood 中,SSL 支援不是預設啟用的。如果您想要啟用 SSL 支援,則必須在組態 flood 時指定 --enable-ssl

如果您嘗試在沒有編譯 SSL 支援的情況下,對 https URL 執行 flood,則會收到類似以下的錯誤訊息

%./flood examples/round-robin-ssl.xml
open request failed (https://www.modssl.org/example/test.phtml).
Error running farmer 'Joe': This function has not been implemented on this
platform

--enable-ssl 選項會啟用 OpenSSL 函式庫偵測。如果 flood 無法自動偵測 OpenSSL,您便需要指定 --with-openssl 以指向 OpenSSL 的適當已安裝版本。 --with-capath 選項指向包含 OpenSSL 的證書驗證單位 ( CA ) 的目錄。預設的 capath 為 $openssl_prefix/certs

從 flood 目錄執行組態

%./buildconf
%./configure --disable-shared

編譯 flood 和其依賴項

在這個範例中,APR 和 apr-util 將自動使用 flood 自動化建置。因此,你只需要在 flood 目錄中下達 make 指令即可。

% make all

執行 flood

預設狀況下,flood 是靜態可執行檔,因此此可執行檔可重新配置。一些 flood 範例設定檔已存在 CVS 的 examples/ 目錄中。

%./flood examples/round-robin.xml > foo.out

分析 flood 輸出

先前產生的 foo.out 檔案以簡單易讀的格式呈現。範例目錄中包含一些殼層和 awk 腳本,這些腳本提供了一些簡易機制,可提取 flood 輸出檔案中的資訊。

%./examples/analyze-relative foo.out

問題

這應該提供了快速且簡單的方式,可加速 flood 安裝。如果您有任何疑問,請寄電子郵件至 dev@httpd.apache.org 郵寄清單。