Apache编译和参数相关
自用笔记,可以无视...
ServerLimit 16
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
StartServers
指定服务器启动时建立的子进程数量,prefork默认为5。
MinSpareServers
指定空闲子进程的最小数量,默认为5。如果当前空闲子进程数少于MinSpareServers ,那么Apache将以最大每秒一个的速度产生新的子进程。此参数不要设的太大。
MaxSpareServers
设置空闲子进程的最大数量,默认为10。如果当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。此参数不要设的太大。如果你将该指令的值设置为比MinSpareServers小,Apache将会自动将其修改成”MinSpareServers+1″。
MaxClients
对于非线程型的MPM(也就是prefork),MaxClients表示可以用于伺服客户端请求的最大子进程数量,默认值是256。任何超过 MaxClients限制的请求都将进入等候队列,一旦一个链接被释放,队列中的请求将得到服务。要增大这个值,你必须同时增大ServerLimit。
MaxRequestsPerChild
每个子进程在其生存期内允许伺服的最大请求数量,默认为10000.到达MaxRequestsPerChild的限制后,子进程将会结束。如果 MaxRequestsPerChild为”0″,子进程将永远不会结束。将MaxRequestsPerChild设置成非零值有两个好处:
1.可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
ServerLimit
对于preforkMPM,这个指令设置了MaxClients最大允许配置的数值。对于workerMPM,这个指令和ThreadLimit结合使用设置了MaxClients最大允许配置的数值。任何在重启期间对这个指令的改变都将被忽略,但对MaxClients的修改却会生效。
使用这个指令时要特别当心。如果将ServerLimit设置成一个高出实际需要许多的值,将会有过多的共享内存被分配。如果将ServerLimit和MaxClients设置成超过系统的处理能力,Apache可能无法启动,或者系统将变得不稳定。
对于preforkMPM,只有在你需要将MaxClients设置成高于默认值256的时候才需要使用这个指令。要将此指令的值保持和MaxClients一样。
交叉编译选项:
这些选项用于交叉编译在其他平台上运行的Apache HTTP服务器。在同一平台上编译和运行Apache HTTP服务器通常不需要使用这些选项,脚本会自动检测并设置。
--build=BUILD | 指定编译工具所在系统的系统类型BUILD | configure for building on BUILD [guessed] |
--host=HOST | 指定Apache HTTP服务器将要进行交叉编译时运行的目标系统类型HOST | cross-compile to build programs to run on HOST [BUILD] |
--target=TARGET | 指定交叉编译所产生的目标代码类型 | configure for building compilers for TARGET [HOST] |
特征选项:
--disable-option-checking | 忽略无法识别的enable或with选项 | ignore unrecognized --enable/--with options |
--disable-FEATURE | 不使用任何软件特性 | do not include FEATURE (same as --enable-FEATURE=no) |
--enable-FEATURE[=ARG] | 使用软件特性 | include FEATURE [ARG=yes] |
--enable-layout=LAYOUT | 预定义的安装路径布局。选项使用config.layout文件中的配置。只使用"--enable-layout", 而不指定LAYOUT, 相当于"--enable-layout=Apache" | |
--enable-v4-mapped | 使用相同的套接字同时处理IPv4和IPv6的连接,也就是启用地址映射。在FreeBSD、NetBSD、OpenBSD以外的平台上是默认值。 | Allow IPv6 sockets to handle IPv4 connections |
--enable-exception-hook | 允许在子进程崩溃以后启用一个钩子来运行异常处理程序。 | Enable fatal exception hook |
--enable-maintainer-mode | 使用所有警告和调试符号编译源代码,请勿用于正式服务器,它会影响性能。 | Turn on debugging and compile time warnings |
--enable-pie | 编译http作为一个独立的可执行文件。 | Build httpd as a Position Independent Executable |
--enable-modules=MODULE-LIST | 启用的模块,用空格分别列出,或使用all,most列出所有或常用的模块。 | Space-separated list of modules to enable | "all" | "most" |
--enable-mods-shared=MODULE-LIST | 启用的共享DSO模块,用空格分别列出,或使用all,most列出所有或常用的共享DOS模块。(注1) | Space-separated list of shared modules to enable | "all" | "most" |
--disable-authn-file | 禁用基于文件的验证控制 | file-based authentication control |
--enable-authn-dbm | 启用基于DBM的验证机制 | DBM-based authentication control |
--enable-authn-anon | 启用匿名的验证机制 | anonymous user authentication control |
--enable-authn-dbd | 启用基于SQL的验证机制 | SQL-based authentication control |
--disable-authn-default | 禁止默认的验证机制方式backstopper | authentication backstopper |
--enable-authn-alias | 启用别名验证 | auth provider alias |
--disable-authz-host | 禁用基于主机的授权机制 | host-based authorization control |
--disable-authz-groupfile | 禁用组授权机制 | 'require group' authorization control |
--disable-authz-user | 禁用用户授权机制 | 'require user' authorization control |
--enable-authz-dbm | 基于DBM数据库的授权机制 | DBM-based authorization control |
--enable-authz-owner | 基于文件所有者的授权机制 | 'require file-owner' authorization control |
--enable-authnz-ldap | 启用基于LDAP的的授权方式 | LDAP based authentication |
--disable-authz-default | 禁用默认的backstopper授权方式 | authorization control backstopper |
--disable-auth-basic | 禁用基本验证 | basic authentication |
--enable-auth-digest | 启用RFC2617摘要式身份验证 | RFC2617 Digest authentication |
--enable-isapi | 启用ISAPI扩展支持(注2) | isapi extension support |
--enable-file-cache | 启用文件缓存 | File cache |
--enable-cache | 启用动态文件缓存 | dynamic file caching |
--enable-disk-cache | 启用磁盘缓存模块 | disk caching module |
--enable-mem-cache | 启用内存缓存模块 | memory caching module |
--enable-dbd | 启用apache的DBD框架 | Apache DBD Framework |
--enable-bucketeer | 水桶操作过滤器 | buckets manipulation filter |
--enable-dumpio | I/O转储过滤器 | I/O dump filter |
--enable-echo | 启用回显服务 | ECHO server |
--enable-example | 实例和演示模块 | example and demo module |
--enable-case-filter | 启用大写转换过滤器 | example uppercase conversion filter |
--enable-case-filter-in | 启用大写转换输入过滤器 | example uppercase conversion input filter |
--enable-ext-filter | 扩展过滤模块 | external filter module |
--disable-include | 禁用服务器端嵌入(SSI) | Server Side Includes |
--disable-filter | 禁用智能过滤 | Smart Filtering |
--enable-substitute | 答复的内容重写式过滤 | response content rewrite-like filtering |
--disable-charset-lite | 禁用字符集转换 | character set translation |
--enable-charset-lite | 启用字符集转换 | character set translation |
--enable-deflate | 压缩转换编码支持 | Deflate transfer encoding support |
--enable-ldap | 启用LDAP的高速缓存和连接池服务 | LDAP caching and connection pooling services |
--disable-log-config | 禁用日志配置 | logging configuration |
--enable-log-forensic | 启用forensic日志记录 | forensic logging |
--enable-logio | 输入和输出记录 | input and output logging |
--disable-env | 禁用环境变量,清除设置环境变量 | clearing/setting of ENV vars |
--enable-mime-magic | 自动确定MIME类型 | automagically determining MIME type |
--enable-cern-meta | 启用CERN类型元文件 | CERN-type meta files |
--enable-expires | 头部有效期控制 | Expires header control |
--enable-headers | HTTP头控制HTTP | header control |
--enable-ident | RFC 1413身份检查 | RFC 1413 identity check |
--enable-usertrack | 用户session跟踪 | user-session tracking |
--enable-unique-id | 启用每个请求唯一的ID | per-request unique ids |
--disable-setenvif | 基于头部的环境变量 | basing ENV vars on headers |
--disable-version | 通过配置文件中决定http版本 | determining httpd version in config files |
--enable-proxyapache | 代理模块 | Apache proxy module |
--enable-proxy-connect apache | 代理连接模块 | Apache proxy CONNECT module |
--enable-proxy-ftp | apache代理ftp模块 | Apache proxy FTP module |
--enable-proxy-http | apache代理http模块 | Apache proxy HTTP module |
--enable-proxy-ajp | apache代理ajp模块 | Apache proxy AJP module |
--enable-proxy-balancer | apache代理balancer模块 | Apache proxy BALANCER module |
--enable-ssl | 启用ssl支持 | SSL/TLS support (mod_ssl) |
--enable-distcache | 在mod_ssl模块中启用Distcache。磁盘缓存(Distcache)用于分布式的会话缓存。主要用在 SSL/TLS 服务器。它可以被 Apache 使用。大多数的台式机应该关闭它。 | Select distcache support in mod_ssl |
--enable-optional-hook-export | 启用可选钩子输出者示例 | example optional hook exporter |
--enable-optional-hook-import | 启用可选钩子输入者示例 | example optional hook importer |
--enable-optional-fn-import | 启用可选函数输入者示例 | example optional function importer |
--enable-optional-fn-export | 启用可选函数输出者示例 | example optional function exporter |
--enable-static-support | 为所支持的二进制文件建立一个静态链接的版本 | Build a statically linked version of the support binaries |
--enable-static-htpasswd | 建立静态版本的htpasswd | Build a statically linked version of htpasswd |
--enable-static-htdigest | 建立htdigest的静态版本 | Build a statically linked version of htdigest |
--enable-static-rotatelogs | 建立rotatelogs的静态版本 | Build a statically linked version of rotatelogs |
--enable-static-logresolve | 建立logresolve的静态版本 | Build a statically linked version of logresolve |
--enable-static-htdbm | 建立htdbm的静态版本 | Build a statically linked version of htdbm |
--enable-static-ab | 建立ab的静态版本 | Build a statically linked version of ab |
--enable-static-checkgid | 建立checkgid的静态版本 | Build a statically linked version of checkgid |
--enable-static-htcacheclean | 建立htcacheclean的静态版本 | Build a statically linked version of htcacheclean |
--enable-static-httxt2dbm | 建立httxt2dbm的静态版本 | Build a statically linked version of httxt2dbm |
--enable-http | 启用http协议处理 | HTTP protocol handling |
--disable-mime | 禁用映射文件扩展名到mime类型 | mapping of file-extension to MIME |
--enable-dav | 启用webdav协议处理 | WebDAV protocol handling |
--disable-status | 禁用进程或线程的监控 | process/thread monitoring |
--disable-autoindex | 禁用目录列表 | directory listing |
--disable-asis | 禁用as-is文件类型 | as-is filetypes |
--enable-info | 启用服务器信息 | server information |
--enable-suexec | 启用suexec,为产生的进程设置uid和gid | set uid and gid for spawned processes |
--disable-cgid | 禁用CGID | CGI scripts |
--enable-cgi | 启用CGI | CGI scripts |
--disable-cgi | 禁用CGI | CGI scripts |
--enable-cgid | 启用CGID | CGI scripts |
--enable-dav-fs | 启用DAV文件系统提供者 | DAV provider for the filesystem |
--enable-dav-lock | 启用DAV提供者的一般锁定 | DAV provider for generic locking |
--enable-vhost-alias | 启用大规模的虚拟主机模块 | mass virtual hosting module |
--disable-negotiation | 禁用内容协商 | content negotiation |
--disable-dir | 禁用目录请求处理 | directory request handling |
--enable-imagemap | 启用服务器端图片映射图 | server-side imagemaps |
--disable-actions | 禁用请求上的行为触发器 | Action triggering on requests |
--enable-speling | 启用常见的URL拼写错误纠正 | correct common URL misspellings |
--disable-userdir | 禁用特定用户目录的请求的映射 | mapping of requests to user-specific directories |
--disable-alias | 禁用不同文件系统部分的请求的映射 | mapping of requests to different filesystem parts |
--enable-rewrite | 基本的URL操纵规则,即启用URL重写规则 | rule based URL manipulation |
--enable-so | 启用DSO性能 | DSO capability |
注:
1、模块列表:
基本(B)模块默认包含,必须明确禁用;扩展(E)/实验(X)模块默认不包含,必须明确启用
模块名称 | 状态 | 简要描述 |
mod_actions | (B) | 基于媒体类型或请求方法,为执行CGI脚本而提供 |
mod_alias | (B) | 提供从文件系统的不同部分到文档树的映射和URL重定向 |
mod_asis | (B) | 发送自己包含HTTP头内容的文件 |
mod_auth_basic | (B) | 使用基本认证 |
mod_authn_default | (B) | 在未正确配置认证模块的情况下简单拒绝一切认证信息 |
mod_authn_file | (B) | 使用纯文本文件为认证提供支持 |
mod_authz_default | (B) | 在未正确配置授权支持模块的情况下简单拒绝一切授权请求 |
mod_authz_groupfile | (B) | 使用纯文本文件为组提供授权支持 |
mod_authz_host | (B) | 供基于主机名、IP地址、请求特征的访问控制 |
mod_authz_user | (B) | 基于每个用户提供授权支持 |
mod_autoindex | (B) | 自动对目录中的内容生成列表,类似于"ls"或"dir"命令 |
mod_cgi | (B) | 在非线程型MPM(prefork)上提供对CGI脚本执行的支持 |
mod_cgid | (B) | 在线程型MPM(worker)上用一个外部CGI守护进程执行CGI脚本 |
mod_dir | (B) | 指定目录索引文件以及为目录提供"尾斜杠"重定向 |
mod_env | (B) | 允许Apache修改或清除传送到CGI脚本和SSI页面的环境变量 |
mod_filter | (B) | 根据上下文实际情况对输出过滤器进行动态配置 |
mod_imagemap | (B) | 处理服务器端图像映射 |
mod_include | (B) | 实现服务端包含文档(SSI)处理 |
mod_isapi | (B) | 仅限于在Windows平台上实现ISAPI扩展 |
mod_log_config | (B) | 允许记录日志和定制日志文件格式 |
mod_mime | (B) | 根据文件扩展名决定应答的行为(处理器/过滤器)和内容(MIME类型/语言/字符集/编码) |
mod_negotiation | (B) | 提供内容协商支持 |
mod_nw_ssl | (B) | 仅限于在NetWare平台上实现SSL加密支持 |
mod_setenvif | (B) | 根据客户端请求头字段设置环境变量 |
mod_status | (B) | 生成描述服务器状态的Web页面 |
mod_userdir | (B) | 允许用户从自己的主目录中提供页面(使用"/~username") |
mod_auth_digest | (X) | 使用MD5摘要认证(更安全,但是只有最新的浏览器才支持) |
mod_authn_alias | (E) | 基于实际认证支持者创建扩展的认证支持者,并为它起一个别名以便于引用 |
mod_authn_anon | (E) | 提供匿名用户认证支持 |
mod_authn_dbd | (E) | 使用SQL数据库为认证提供支持 |
mod_authn_dbm | (E) | 使用DBM数据库为认证提供支持 |
mod_authnz_ldap | (E) | 允许使用一个LDAP目录存储用户名和密码数据库来执行基本认证和授权 |
mod_authz_dbm | (E) | 使用DBM数据库文件为组提供授权支持 |
mod_authz_owner | (E) | 基于文件的所有者进行授权 |
mod_cache | (E) | 基于URI键的内容动态缓冲(内存或磁盘) |
mod_cern_meta | (E) | 允许Apache使用CERN httpd元文件,从而可以在发送文件时对头进行修改 |
mod_charset_lite | (X) | 允许对页面进行字符集转换 |
mod_dav | (E) | 允许Apache提供DAV协议支持 |
mod_dav_fs | (E) | 为mod_dav访问服务器上的文件系统提供支持 |
mod_dav_lock | (E) | 为mod_dav锁定服务器上的文件提供支持 |
mod_dbd | (E) | 管理SQL数据库连接,为需要数据库功能的模块提供支持 |
mod_deflate | (E) | 压缩发送给客户端的内容 |
mod_disk_cache | (E) | 基于磁盘的缓冲管理器 |
mod_dumpio | (E) | 将所有I/O操作转储到错误日志中 |
mod_echo | (X) | 一个很简单的协议演示模块 |
mod_example | (X) | 一个很简单的Apache模块API演示模块 |
mod_expires | (E) | 允许通过配置文件控制HTTP的"Expires:"和"Cache-Control:"头内容 |
mod_ext_filter | (E) | 使用外部程序作为过滤器 |
mod_file_cache | (X) | 提供文件描述符缓存支持,从而提高Apache性能 |
mod_headers | (E) | 允许通过配置文件控制任意的HTTP请求和应答头信息 |
mod_ident | (E) | 实现RFC1413规定的ident查找 |
mod_info | (E) | 生成Apache配置情况的Web页面 |
mod_ldap | (E) | 为其它LDAP模块提供LDAP连接池和结果缓冲服务 |
mod_log_forensic | (E) | 实现"对比日志",即在请求被处理之前和处理完成之后进行两次记录 |
mod_logio | (E) | 对每个请求的输入/输出字节数以及HTTP头进行日志记录 |
mod_mem_cache | (E) | 基于内存的缓冲管理器 |
mod_mime_magic | (E) | 通过读取部分文件内容自动猜测文件的MIME类型 |
mod_proxy | (E) | 提供HTTP/1.1的代理/网关功能支持 |
mod_proxy_ajp | (E) | mod_proxy的扩展,提供Apache JServ Protocol支持 |
mod_proxy_balancer | (E) | mod_proxy的扩展,提供负载平衡支持 |
mod_proxy_connect | (E) | mod_proxy的扩展,提供对处理HTTP CONNECT方法的支持 |
mod_proxy_ftp | (E) | mod_proxy的FTP支持模块 |
mod_proxy_http | (E) | mod_proxy的HTTP支持模块 |
mod_rewrite | (E) | 一个基于一定规则的实时重写URL请求的引擎 |
mod_so | (E) | 允许运行时加载DSO模块 |
mod_speling | (E) | 自动纠正URL中的拼写错误 |
mod_ssl | (E) | 使用安全套接字层(SSL)和传输层安全(TLS)协议实现高强度加密传输 |
mod_suexec | (E) | 使用与调用web服务器的用户不同的用户身份来运行CGI和SSI程序 |
mod_unique_id | (E) | 为每个请求生成唯一的标识以便跟踪 |
mod_usertrack | (E) | 使用Session跟踪用户(会发送很多Cookie),以记录用户的点击流 |
mod_version | (E) | 提供基于版本的配置段支持 |
mod_vhost_alias | (E) | 提供大批量虚拟主机的动态配置支持 |
2、Apache HTTP服务器是一个模块化的软件,管理员可以通过选择服务器中包含的模块进行功能增减。模块可以在编译时被静态包含进httpd二进制文件,也可以编译成独立于httpd二进制文件的动态共享对象(DSO)。DSO模块可以与服务器一起编译,也可以用Apache扩展工具(apxs)单独编译。
3、ISAPI 服务器扩展是可以被 HTTP 服务器加载和调用的 DLL。Internet 服务器扩展也称为 Internet 服务器应用程序 (ISA),用于增强符合 Internet 服务器 API (ISAPI) 的服务器的功能。ISA 通过浏览器应用程序调用,并且将相似的功能提供给通用网关接口 (CGI) 应用程序。
可选包选项:
--with-PACKAGE[=ARG] | 包含包的语法 | use PACKAGE [ARG=yes] |
--without-PACKAGE | 不使用该包语法 | do not use PACKAGE (same as --with-PACKAGE=no) |
--with-included-apr | 捆绑拷贝apr/apr-util信息 | Use bundled copies of APR/APR-Util |
--with-apr=PATH | apr的安装目录 | prefix for installed APR or the full path to |
--with-apr-util=PATH | apu的安装目录 | prefix for installed APU or the full path to apu-config |
--with-pcre=PATH | 使用扩展的PCRE正则表达式库 | Use external PCRE library |
--with-port=PORT | 监听端口 | Port on which to listen (default is 80) |
--with-sslport=SSLPORT | ssl的监听端口 | Port on which to securelisten (default is 443) |
--with-z=DIR | zlib的库文件位置 | use a specific zlib library |
--with-sslc=DIR | RSA SSL-C SSL/TLS软件包目录 | RSA SSL-C SSL/TLS toolkit |
--with-ssl=DIR | openssl包的位置。 | OpenSSL SSL/TLS toolkit |
--with-mpm=MPM | 选择apache所使用的处理模块。(注1) | Choose the process model for Apacheto use. MPM={beos|event|worker|prefork|mpmt_os2} |
--with-module=module-type:module-file | 添加第三方模块。(注2) | Enable module-file in the modules/<module-type>directory. |
--with-program-name | 指定可执行程序的名字[默认为:httpd],若使用此选项则默认配置文件的名字将同时变成"NAME.conf"。 | alternate executable name |
--with-suexec-bin | suexec二进制文件目录[默认--sbindir] | Path to suexec binary |
--with-suexec-calle | 允许调用suexec的用户,改用户必须和运行httpd子进程的用户相同 | User allowed to call SuExec |
--with-suexec-userdir | 用户主目录下允许suexec对其中的文件具有执行权限的子目录,仅在将suexec和用户网站目录(由mod_userdir提供支持)一起使用的情况下才需要设置此选项[public_html] | User subdirectory |
--with-suexec-docroot | 允许suexec对其中的文件具有执行权限的根目录[--datadir/htdocs] | SuExec root directory |
--with-suexec-uidmin | 允许执行suexec的最小UID[100] | Minimal allowed UID |
--with-suexec-gidmin | 允许执行suexec的最小GID[100] | Minimal allowed GID |
--with-suexec-logfile | suexec日志文件名[默认文件名为:suexec_log ,位于--logfiledir目录下] | Set the logfile |
--with-suexec-safepath | 对suexec"安全"的PATH环境变量的值[/usr/local/bin:/usr/bin:/bin] | Set the safepath |
--with-suexec-umask | suexec进程的umask[取决于系统的设定] | umask for suexec'd process |
Apache编译和参数相关 没有评论