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编译和参数相关 没有评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注