本文档解释了如何编译和运行 Flood。
Flood 是围绕 Apache 可移植运行时 构建的,特别是 apr 和 apr-util。
Flood 主要是在 Linux 和 Solaris 上开发的。FreeBSD 也已知可以运行。由于 Flood 是围绕 APR 构建的,因此任何支持 APR 的平台都应该可以轻松运行。我们预计 Win32 也可以运行,只要有人有时间和意愿去做。APR 已经完成了大部分繁重的工作,但目前 Flood 的开发人员都没有使用 Win32。
Flood 的当前版本可以通过 Subversion 获取。Flood 还依赖于来自同一 Subversion 存储库的 apr 和 apr-util 包。
注意:如果 APR 和 APR-util 位于适当的子目录中,Flood 会自动检测和配置它们。如果您已经安装了 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 默认情况下 **不** 启用 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
中。
%./buildconf
%./configure --disable-shared
在这个例子中,APR 和 apr-util 将自动与 Flood 一起构建。因此,您只需要在 Flood 目录中执行 make 命令。
% make all
默认情况下,Flood 是一个静态可执行文件,因此可执行文件是可重定位的。CVS 中的 examples/ 目录中有一些示例 Flood 配置文件。
%./flood examples/round-robin.xml > foo.out
上面生成的 foo.out 文件采用简单易解析的格式。examples 目录中包含一些 shell 和 awk 脚本,它们提供了一些简单的机制来从 Flood 输出文件中提取信息。
%./examples/analyze-relative foo.out
这应该提供一种快速简便的方法来启动您的 Flood 安装。如果您有任何问题,请发送电子邮件到 dev@httpd.apache.org 邮件列表。