`
zsjg13
  • 浏览: 145100 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

配置Apache httpd.conf文件

阅读更多

Apache的配置指令分为两类:一类是核心指令,它们通常是由核心模块提供,这些执行必须写在httpd.conf中,否则Apache可能无法工作,另一类是由标准模块或第三方模块提供,如mod_dav模块提供的dav功能。

 

在Apache的所有模块中最重要的就是core_module、so_module、http_module以及mpm模块,除了so_module可以像其他模块一样可以关掉或禁用,其他都不行。

 

Apache的配置非常简单,最主要的配置文件就是httpd.conf,如需配置虚拟主机,则需要加载和修改相应的虚拟主机配置文件。httpd.conf中会引用其他配置文件。假设我们的Apache编译安装在/usr/local/apache,则在此路径的conf/extra目录中放的就是Apache所需要引用的配置,通常有dav的配置、虚拟主机的配置、ssl的配置等。

 

httpd.conf中的配置可分为3个部分:主服务器部分、容器部分,以及服务器扩展部分。

 

一、主服务器部分

1、ServerName指令

用于配置Apache默认主机名,值就是你的站点名称或是IP地址。推荐使用完整的IP地址。例如:

ServerName www.orache.com 或ServerName 192.168.171.133,如果你没有用此指令来指定Apache的默认主机名,则在用# ./apachectl start启动时会看到一行警告信息,系统提示找不到域名,因此只能用127.0.0.1作为服务器的默认地址,这当然只有本机能访问。如果使用了完整的站点名称,那么Apache会根据主机的host.conf文件的配置来决定是线程本地主机名列表文件/etc/hosts中查找与站点名对应的IP还是

向DNS查询站点名对应的IP。

 

2、ServerRoot指令

用于定义服务器所在的目录,这个路径通常是在编译时由--prefix=ServerRoot路径选项来指定。如果你用二进制包来安装,则ServerRoot位于/etc/apache2下。

也可以在启动Apache时利用-d参数来指定一个ServerRoot的未知,这种做法只是用来测试同一版本的Apache在多个环境下的配置。

 

3、DocumentRoot指令

也就是Apache所收到的URL请求的根目录,该路径只能用绝对路径,如果路径中有空格,还需要用引号。

 

4、ServerAdmin指令

用于定义当服务器出现错误后,用于向管理员发送通知的邮箱。

ServerAdmin fanjg_ajy@163.com

 

5、ScriptAlias与Alias指令

它们功能类似,都是用于映射目录。只是ScriptAlias是将映射的目录识别为CGI脚本目录。而Alias则是只映射为一个普通的目录。ScriptAlias指定的那个目标目录中的文档被当作应用来看待,服务器会运行它们,而不是作为文档发送给客户端。Alias:将web路径映射进文件系统路径,用于访问那些不在Document Root下的内容。

 

6、User与Group指令

ps aux | grep httpd就可以查看到了

 

7、Listen指令

监听端口。范围值:0~65535,但其中0~1024是为系统服务所保留的。

 

8、LoadModule指令

用于加载模块或是目标文件

 

9、ErrorDocument指令

 有3种方法使用它,定义文本信息、使用脚本,指定一个页面。例如:

ErrorDocument 500 "unknown error"

ErrorDocument 404 "/srv/www/cgi-bin/missing_404.pl"

ErrorDocument 402 http://www.jonsk.com/info_402.html

 

10、Options指令

此指令决定在哪些目录中使用哪些服务器的特性

 

二、容器部分

1、<IfModule>容器

它作用于模块,它先判断模块是否载入,再决定是否进行处理。

<IfModule !mpm_netware_module>的意思是如果载入了mpm_netware_module模块则不执行容器内的指令。IfModule指令可以嵌套。

<IfModule dir_module>

    DirecoryIndex index.html

</IfModule>

 

2、<IfDefine>容器

<IfDefine Proxy>

    LoadModule proxy_module modules/libproxy.so

</IfDefine>

下面的启动命令定义了一个名字Proxy,可以在IfDefine容器中使用

# httpd -D Proxy

 

3、<Directory>与<DirectoryMatch>容器

<Directory>容器的作用就是让它所封装的指令在指定的目录及它的子目录中起作用,这个目录必须是一个

完整的路径,当然你也可以使用通配符 * ? [],但这3者都不能匹配/。

禁止对/srv/apache/html/目录的访问权限,请求被拒绝:

<Directory /srv/apache/html/>

Order Deny,Allow

Deny from All

</Directory>

下面的利用到了正则表达式:

<Directory ~ "^/srv/apache[0-9]{2}/html/">

Order Deny,Allow

Allow from All

</Directory>

 

<DirectoryMatch>与Directory作用类似,都是作用于目录,只不过<DirectoryMatch>用到正则表达式时,

不需要 ~ ,例如:

<DirectoryMatch "^/srv/apache[0-9]{2}/html/">

Order Deny,Allow

Allow from All

</DirectoryMatch>

 

4. <Files>与<FilesMatch>容器

匹配所有的以.ht文件结尾的文件并允许所有用于访问

<Files "^\.ht">

Order Deny,Allow

Allow from All

<Files>

 

5、<Location>与<LocationMatch>容器

它们是对URL进行访问控制

<Location /cgi>

............................

</Location>

还可以将URL请求映射到apche模块处理器上,例如,使用Apache自带的mod_status模块:

<Location /server-status>

SetHandler server-status

</Location>

 

三、服务器扩展部分

在Apache的默认配置文件夹中有一个extra目录,这个目录用来存放Apache其他模块的配置文件。

Include指令可以通过通配符来加载多个文件,而这个顺序则是按照字母顺序加载,如果指向一个目录,

则会按字母顺序加载这个目录下的所有文件,对于加载文件路径,可以使用绝对路径,也可以使用

相对于ServerRoot目录的相对路径,如:

Include /home/apache/conf/httpd-vhosts.conf

Include extra/httpd-vhosts.conf

 

 

分享到:
评论

相关推荐

    apache httpd.conf中文 apache优化

    apache httpd.conf中文 apache优化

    apache2配置文件httpd.conf

    apache2配置文件httpd.conf

    Apache配置文件httpd.conf

    Apache服务器的本地配置是一件令人头疼的事,无法访问一般是由于配置文件的不正确导致的,这是一份可以在Mac系统中正常运行的配置文件。

    Apache的httpd.conf文件常用指令解释

    Apache的httpd.conf文件是Apache HTTP服务器的核心配置文件,它定义了服务器的行为、虚拟主机设置、目录规则等关键参数。了解并熟练掌握httpd.conf文件中的常用指令对于管理和优化Apache服务器至关重要。以下是一些...

    Apache的httpd.conf文件配置

    ### Apache的httpd.conf文件配置详解 #### 一、引言 `httpd.conf`是Apache Web服务器的核心配置文件,它决定了服务器的行为、性能及功能。对于系统管理员来说,掌握如何正确配置`httpd.conf`至关重要。本文将详细...

    httpd.conf文件配置详解

    ### httpd.conf 文件配置详解 #### 一、概述 `httpd.conf` 是 Apache HTTP Server 的核心配置文件,用于设置服务器的各种参数与行为。通过合理地配置 `httpd.conf`,可以实现对网站的安全性、性能及功能进行优化。...

    apache的httpd.conf文件配置详解

    Apache的HTTPD.conf文件是Apache HTTP服务器的核心配置文件,它定义了服务器的行为、设置和功能。这个文件位于Apache软件安装的根目录下,通常命名为httpd.conf或apache2.conf,根据不同的操作系统和安装方法可能会...

    httpd.conf配置文件

    ### Apache Httpd.conf 配置文件详解 #### 一、概览 Apache 是一款广泛使用的 Web 服务器软件,它能够高效、可靠地处理大量的 HTTP 请求。`httpd.conf` 文件是 Apache 的核心配置文件,用于定义服务器的行为和特性...

    Apache2配置文件httpd.conf中文版.docx

    Apache2 配置文件 httpd.conf 中文版 Apache2 配置文件 httpd.conf 是 Apache 服务器的主要配置文件,它包含服务器的影响服务器运行的配置命令。这个配置文件可以分为三个部分:控制囫囵 Apache 服务器行为的部分...

    Apache2 httpd.conf 中文版

    根据给定的文件标题、描述、标签以及部分内容,本文将详细介绍Apache2的`httpd.conf`配置文件中的关键知识点。 ### Apache2 httpd.conf 文件概述 `httpd.conf`是Apache HTTP服务器的主要配置文件,它控制着服务器...

    Apache 的 httpd.conf 详解

    `httpd.conf` 是Apache Web服务器的核心配置文件,它控制着服务器的行为与功能。通过合理地配置这些参数,可以极大地提高服务器的安全性、性能和可扩展性。下面将对部分关键配置项进行详细解释。 #### 二、关键配置...

    Apache2_httpd.conf配置文件中文版详解2

    Apache2 httpd.conf配置文件中文版详解 # 基于 NCSA 服务的配置文件。

    httpd.conf

    django整合后的apache httpd.conf

    配置好的httpd.conf,php.ini文件

    `httpd.conf`是Apache服务器的主要配置文件,它定义了服务器的行为、监听的端口、虚拟主机设置、日志文件位置以及模块的启用等关键信息。在`httpd.conf`中,你可以看到诸如`ServerRoot`(Apache安装目录)、`Listen`...

    apache 配置文件httpd.conf

    apache 配置文件httpd.conf,要运行php就要在该文件中进行相应的配置

    apache配置详解httpd.conf配置

    自己收集的一些资料,可以参考一下!有什么需要帮忙的地方可以与我联系:Q:527514926 MSN:wang527514926@163.com

    httpd.conf &php.ini

    httpd.conf是Apache服务器的主要配置文件,它定义了服务器的行为、监听端口、虚拟主机、文档根目录、日志文件位置等核心参数。以下是一些关键配置项的解释: 1. **ServerRoot**: 指定Apache安装的根目录,通常设置...

Global site tag (gtag.js) - Google Analytics