Apache 学习笔记 - 配置文件

http://httpd.apache.org/docs/2.4/en/configuring.html

本文档描述了用于配置Apache HTTP Server的文件。

主要配置文件

这里写图片描述

通过将指令放置在纯文本配置文件中来配置Apache HTTP Server。 主配置文件通常称为httpd.conf。 该文件的位置是在编译时设置的,但可以用-f命令行标志覆盖。 另外,可以使用Include指令添加其他配置文件,并且可以使用通配符来包含许多配置文件。 任何指令都可以放在任何这些配置文件中。 主要配置文件的更改,只有在启动或重新启动时才由httpd识别。

服务器还读取包含MIME文档类型的文件; 文件名由TypesConfig指令设置,默认为mime.types。

配置文件的语法

httpd配置文件每行包含一个指令。 反斜杠“\”可以用作一行上的最后一个字符来指示该指令继续到下一行。 反斜杠和行尾之间不得有其他字符或空格。

指令的参数由空格分隔。 如果参数包含空格,则必须将该参数放在引号中。

配置文件中的指令不区分大小写,但指令的参数通常区分大小写。 以散列字符“#”开头的行被视为注释,并被忽略。 注释可能不包含在与配置指令相同的行中。 在指令被忽略之前发生的空白区域,因此您可以为了清晰起见而缩进指令。 空行也被忽略。

可以使用语法${VAR}在配置文件行中使用通过Define of或shell环境变量定义的变量值。 如果“VAR”是有效变量的名称,那么将该变量的值替换为配置文件行中的该点,并继续处理,就好像该文本直接在配置文件中找到一样。 Define定义的变量优先于shell环境变量。 如果未找到“VAR”变量,则字符${VAR}保持不变,并记录警告。 变量名不能包含冒号“:”字符,以避免与RewriteMap的语法冲突。

只有在启动服务器之前定义的shell环境变量才能用于扩展。 在配置文件本身中定义的环境变量(例如使用SetEnv)会因生效太迟而无法用于配置文件中的扩展。

正常配置文件中的行, 在变量替换和连接任何续行之后,最大长度约为16 MiB。 在.htaccess文件中,最大长度为8190个字符。

您可以通过使用apachectl configtest或-t命令行选项来检查配置文件的语法错误,而无需启动服务器

303/5000
您可以使用mod_info-DDUMP_CONFIG来转储配置,其中包含所有已包含的文件和环境变量,并删除所有注释和不匹配的和部分。 但是,输出并不能反映重复指令可能发生的合并或重写。

模块

这里写图片描述

httpd是一个模块化服务器。 这意味着核心服务器中只包含最基本的功能。 扩展功能可通过加载可加载到httpd的模块来使用。 默认情况下,编译时在服务器中包含一组基本模块。 如果将服务器编译为使用动态加载的模块,则可以使用LoadModule指令随时单独编译和添加模块。 否则,必须重新编译httpd以添加或删除模块。 通过将特定模块包含在<IfModule>块中,可以包含配置指令。 但是,<IfModule>块不是必需的,并且在某些情况下可能会掩盖缺少重要模块的事实。

要查看当前哪些模块已编译到服务器中,可以使用-l命令行选项。 您还可以使用-M命令行选项查看哪些模块是动态加载的。

指令的范围

这里写图片描述

放置在主配置文件中的指令适用于整个服务器。 如果您希望仅更改服务器某一部分的配置,可以通过将它们放入<Directory>,<DirectoryMatch>,<Files>,<FilesMatch>,<Location>和<LocationMatch>部分来限定您的指令。 这些部分限制了它们附属于指定文件系统位置或URL的指令的应用。 它们也可以嵌套,允许非常细腻的配置。

httpd有能力同时为多个不同的网站提供服务。 这被称为虚拟主机。 指令也可以通过将它们放在<VirtualHost>部分中进行限定,以便它们仅适用于特定网站的请求。

尽管大多数指令都可以放在这些部分中的任何一部分中,但在某些情况下,某些指令是没有意义的。 例如,控制进程创建的指令只能放在主服务器上下文中。 要查找哪些指令可以放置在哪些部分中,请检查指令的上下文。 有关更多信息,我们提供有关目录,位置和文件部分如何工作的详细信息。

.htaccess文件

这里写图片描述

httpd允许通过放置在Web树内的特殊文件对配置进行分散管理。 特殊文件通常称为.htaccess,但任何名称都可以在AccessFileName指令中指定。 放置在.htaccess文件中的指令适用于放置文件的目录以及所有子目录。 .htaccess文件遵循与主配置文件相同的语法。 由于每个请求都会读取.htaccess文件,因此对这些文件所做的更改会立即生效。

要找到哪些指令可以放在.htaccess文件中,请检查指令的上下文。 通过在主配置文件中配置AllowOverride指令,服务器管理员可以进一步控制可以在.htaccess文件中放置哪些指令。

有关.htaccess文件的更多信息,请参阅.htaccess教程

猜你喜欢

转载自blog.csdn.net/u013725455/article/details/80539216
今日推荐