Apache 基本配置
主配置文件
相关模块
- modmime
相关指令·
<IfDefine>
- Include
- Typeconfig
Apache 配置文件是包含若干指令的纯文本文件,主配置文件通常为:httpd.conf。文件位置编译时确定,但仍然可以通过命令行参数 -f 来修改。还可以用include 来附加其他配置文件。只有在启动或重启时,主配置文件才会生效。
服务器会读取包含MIME文件类型的文件,其文件名由TypesConfig指令确定,默认值为mime.types
配置文件的语法
- 一行为一条指令,使用\可以续行,反斜杠后不能包含任何字符。
- 指令不区分大小写,但参数区分
#
开头的行被认为为注释,空白行与空格被忽略- 可以使用apachectl或者参数== -t ==来检查配置文件中的错误
模块
相关模块
- mod_so
相关指令
<IfMoudle>
- LoadModule
Apache 是模块化服务器。扩展功能作为模块被动态加载。
如果服务器包含了DSO模块,那么各模块可以随时使用LoadModule指令加载;否则改变模块必须重新编译整个Apache
用于特定模块可以使用
使用参数-i查看以及编译到服务器的模块
指令的作用域
相关模块
<Directory>
<DirctoryMatch>
<Files>
<Filesmatch>
<Location>
<LoactionMatch>
<VirtualHost>
将指令嵌入到由以上作用域中,可以对指令进行更加精确的配置
Apache支持多个站点的能力,称为虚拟主机。<VirtualHost>
限制对特定站点的虚拟主机有效
.htaccess文件
相关指令
可以对分布在网站目录中的特殊文件进行分布式配置
- AccessFileName
使用这条指令改变分布式配置文件的名字 - AllowOverride
决定哪些指令可以在分布配置文件中生效
[.htaccess配置]()
配置段(容器)
使用容器来改变指令的作用范围
配置段的类型
相关模块
- core
- mod_version
- mod_proxy
相关指令 <Directory>
<DirctoryMatch>
<Files>
<FilesMatch>
<Location>
<LocationMatch>
<porxy>
<Porxy>
<PorxyMatch>
<virtualHost>
容器有两个基本类型:- 针对各个请求的容器
- 针对所有请求的容器
<IfDefine>
容器中的参数只有在命令行中设定了特定的参数后才有效<IfModule>
在服务器启用了特定模块时才有效
文件系统和网路空间容器
文件系统容器
操作系统所看到的磁盘视图
<Directory>
和<File>
和与其相对应的正则表达式版本(<Directory><File>
)一起作用于文件系统的特定部分。
<Directory>
配置段中的指令作用于指定文件系统目录下的系统目录及子目录,.htaccess 有相同效果。
<File>
配置段中指令作用于特定的文件名,无论该文件存在于哪一个文件目录下
网络空间容器
被WEB服务器发送的被客户在浏览器中看到的视图。
<Location>
与其相对应的版本一起作用于网络空间的特定部分,与文件系统无关
通配符和正则表达式
匹配符与C标准库中的fnamtch
类似shell的通配符
* # 任何字符串
? # 任何单个字符
[seq] # 匹配seq序列中的任何字符