设为首页 收藏本站
查看: 1453|回复: 0

[经验分享] Apache编译参数详解【2.2.10版】

[复制链接]

尚未签到

发表于 2018-11-29 09:31:21 | 显示全部楼层 |阅读模式
  Apache编译参数详解【2.2.10版】
  
  下列选项会影响configure脚本自身的行为。方括号”[]“内是默认值。
  
  -C
  –config-cache
  等价于 –cache-file=config.cache
  –cache-file=FILE
  在FILE文件中缓存测试结果(默认禁用)。
  
  -h
  –help[=short|recursive]
  显示帮助信息然后退出。使用short参数将只显示正在运行的当前脚本的选项,而不能列出适用于Apache配置脚本所运行的外部配置脚本的选项。使用recursive参数将显示所有程序包的简短描述。
  
  -n
  –no-create
  configure脚本运行结束后不输出结果文件,常用于正式编译前的测试。
  
  -q
  –quiet
  不显示脚本工作期间输出的”checking …”消息。
  –srcdir=DIR
  指定源代码所在目录DIR 。[configure脚本所在目录或父目录]
  –silent
  等价于 –quiet
  
  -V
  –version
  显示版权信息后退出。
  
  安装目录
  这些选项控制着安装目录的结构。安装目录的结构取决于所选择的布局。方括号”[]“内是默认值。
  
  –prefix=PREFIX
  体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。[/usr/local/apache2]
  –exec-prefix=EPREFIX
  体系相关文件的顶级安装目录EPREFIX ,把体系相关的文件安装到不同的位置可以方便地在不同主机之间共享体系相关的文件。[PREFIX]
  默认情况下,make install 将会把所有文件分别安装到/usr/local/apache2/bin , /usr/local/apache2/lib 目录下。可以用 –prefix 指定一个不同于/usr/local/apache2的安装前缀,比如:–prefix=$HOME 。
  
  定义一个目录布局
  
  –enable-layout=LAYOUT
  使用名为LAYOUT的布局配置所有源代码和编译脚本。这样就允许你在安装Apache时分别指定不同文件的安装位置。config.layout文件中包含了默认布局的示例,你可以根据它创建你自己的布局。这个文件中的不同布局使用…段进行分组,其中的FOO就是布局名。默认的布局是Apache 。
  
  安装目录微调
  可以使用下面的选项微调安装目录。下列选项的默认值由autoconf自动设置并在方括号”[]“内说明。
  
  –bindir=DIR
  用户可执行目录DIR 。用于存放对网站管理员很有帮助的htpasswd, dbmmanage之类的支持程序。[EPREFIX/bin]
  
  –datadir=DIR
  Web服务器只读的体系无关数据目录DIR 。虽然autoconf提供了该选项,但Apache并未使用它。[PREFIX/share]
  
  –includedir=DIR
  Apache的C头文件目录DIR 。[EPREFIX/include]
  
  –infodir=DIR
  信息文档目录DIR 。虽然autoconf提供了该选项,但Apache并未使用它。[PREFIX/info]
  
  –libdir=DIR
  对象代码库目录DIR 。[EPREFIX/lib]
  
  –localstatedir=DIR
  可写的单一机器数据目录DIR 。虽然autoconf提供了该选项,但Apache并未使用它。[PREFIX/var]
  
  –mandir=DIR
  手册文档目录DIR 。[EPREFIX/man]
  
  –oldincludedir=DIR
  非gcc的C头文件目录DIR 。虽然autoconf提供了该选项,但Apache并未使用它。[/usr/include]
  
  –sbindir=DIR
  系统管理员可执行目录DIR ,用于存放运行HTTP服务器所必须的httpd, apachectl, suexec之类的服务程序。[EPREFIX/sbin]
  
  –sharedstatedir=DIR
  可写的体系无关数据目录DIR 。虽然autoconf提供了该选项,但Apache并未使用它。[PREFIX/com]
  
  –sysconfdir=DIR
  只读的单一机器数据目录DIR ,用于存放httpd.conf和mime.types之类的服务器配置文件。[PREFIX/etc]
  
  系统类型
  这些选项用于交叉编译在其他平台上运行的Apache HTTP服务器。在同一平台上编译和运行Apache HTTP服务器通常不需要使用这些选项,脚本会自动检测并设置。方括号”[]“内是默认值。
  
  –build=BUILD
  指定编译工具所在系统的系统类型BUILD 。[config.guess脚本的检测结果]
  
  –host=HOST
  指定Apache HTTP服务器将要运行的目标系统类型HOST 。[BUILD]
  
  –target=TARGET
  configure for building compilers for TARGET类型的系统。虽然autoconf提供了该选项,但Apache并未使用它。[HOST]
  
  模块选项
  有两种使用模块的方法:一是静态连接进核心,二是作为DSO模块动态加载;如果编译中包含任何DSO模块,则mod_so会被自动包含进核心。如果希望核心能够装载DSO,但不实际编译任何DSO模块,则需明确指定”–enable-so=static”。
  
  一般语法
  
  一般情况下你可以使用如下语法启用或者禁用某个模块:
  
  –disable-MODULE
  禁用MODULE模块(仅用于基本模块)
  
  –enable-MODULE=shared
  将MODULE编译为DSO(可用于所有模块)
  
  –enable-MODULE=static
  将MODULE静态连接进核心(仅用于扩展和实验模块)
  
  –enable-mods-shared=MODULE-LIST
  将MODULE-LIST中的所有模块都编译成DSO(可用于所有模块)
  
  –enable-modules=MODULE-LIST
  将MODULE-LIST静态连接进核心(可用于所有模块)
  
  上述 MODULE-LIST 可以是:
  (1)用引号界定并且用空格分隔的模块名列表
  
  –enable-mods-shared=’headers rewrite dav’
  
  (2)”most”(大多数模块[遇见错误模块时忽略该模块而不中断配置过程])
  (3)”all”(所有模块[遇见错误模块时中断配置过程并报错])
  
  –enable-mods-shared=most
  
  注意
  configure将忽略MODULE和MODULE-LIST中的拼写错误,注意仔细拼写。用于MODULE和MODULE-LIST中的名称是”mod_NAME”中去掉”mod_”并将剩余部分中的下划线”_”替换为连字符”-”以后的结果,比如”mod_log_config”模块应当表示为”log-config”。不包含,必须明确启用。
  
  基本(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) 提供大批量虚拟主机的动态配置支持
  
  必须有而且只能有一个MPM被静态包含进核心,你可以使用下面的配置选项进行选择:--with-mpm=MPM有至少两种方法可以添加第三方模块,最简单的方法是作为配置参数提供,语法如下:--with-module=--enable-http 注:下述选项并未出现在官方手册中,译者不保证其真实性,仅供有兴趣的玩家参考。--enable-nonportable-atomics 这些指令用于定义特殊程序包相关的选项。--with-included-apr一些Apache模块,比如--with-gdbm[=--enable-static-support--enable-suexec仅在启用了上述选项的情况下,才可以使用以下选项微调--with-suexec-bin


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-641016-1-1.html 上篇帖子: Redhat下 Apache, php, mysql的默认安装路径 下篇帖子: Apache参数设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表