Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1740886
  • 博文数量: 438
  • 博客积分: 9799
  • 博客等级: 中将
  • 技术积分: 6092
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-25 17:25
文章分类

全部博文(438)

文章存档

2019年(1)

2013年(8)

2012年(429)

分类: 系统运维

2012-06-02 12:49:14

主要配置文件

Apache通过在文本配置文件里放置指令来配置HTTP服务器。主配置文件通常为httpd.conf(apache2为/etc /apache2/apache2.conf,它会包含httpd.conf),该文件的位置在编译期中设置,也可以使用命令行参数-f来重写。此外,其 它配置文件可以通过Include指令来引用,这里可以使用通配符来引用多个配置文件(比如厅Include mods-enabled/*.conf)。httpd在启动或重启时会加载主要配置文件。


服务器也读取一个包含mime文档类型的文件,文件名通过TypeConfig指令来指定。默认情况下为mime.types。


语法

配置文件里通过一个指令为一行。在行末用“\”可以标示指令占据多行。


指令本身是不区分大小写的,但它的参数通常是大小写敏感的。以#开头的行被视为注释。空白行和指令前的空格都被忽略。


Define定义的变量和shell环境变量可以通过${VAR}的形式在配置文件里使用。通过Define定义的变量比环境变量的优先级高。如果 VAR没有定义,那么${VAR}会保持不变,而且一个警告会发生。变量名不能包含“:”,以免干扰RewriteMap指令。


只有在服务器启动前定义的环境变量才会被展开。在配置文件本身定义的环境变量,如通过SetEnv定义的,不会展开。


配置文件在展开变量、联合后续行(\结尾表示)后的最大长度大约为16M。.htaccess文件里行的最大长度为8190个字符。


使用命令apachectl configtest或apachectl -t可以在不启动服务器的情况下检查配置文件语法错误。


mod_info模块的-DUMP-CONFIG可以输出解析所有引用文件和环境变量,以及删除注释、不匹配的的配置文件。


模块

核心服务器只包含了最基本的功能,扩展特性可以通过加载模块来使用。默认情况下,一个模块的基本集在编译期包含进了服务器。如果服务器被编译成使用 动态加载模块,那么模块可以分开编译,并在任何时候使用LoadModule指令加入。否则,服务器必须重新编译来加入或删除模 块。块里的指令只在所需模块被加载时才会执行,比如:


    Listen 443


命令行参数-l可以查看编译进server的模块,-M可以查看动态加载的模块。


指令作用域

在主配置文件里的指令会作用于整个服务器。 放 入、 和块里的指令只作用于服务器的一部分。它们根据文件系统的位置或URL来应用指令。它们也可以嵌套。


Apache允许多个不同的网站同时运行,这被称为Virtual Hosting。在块里的指令只应用到特定的网站里。


尽管多数指令都可以放在任何区块里,但一些指令在一些上下文里没有意义。


.htaccess文件

如果在某个目录下放置一个.htaccess文件,那么它里面的配置会应用在当前目录以及它的所有子目录里。.htaccess文件的语法和主配置文件的语法相同。这个文件的名字也可以通过主配置文件里的AccessFileName指令来指定。


由于.htaccess文件在每次请求时读取,该文件的任何修改都会立即得到反映。


主配置文件里可以使用AllowOverride指定来决定什么指令可以放置在.htaccess文件里。

阅读(1169) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~