Apache配置文件详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache配置文件详解相关的知识,希望对你有一定的参考价值。

1.1 ServerRoot 配置

【ServerRoot "" 主要用于指定Apache的安装路径,此选项参数值在安装Apache时系统会自动把Apache的路径写入。Windows安装时,该选项的值为Windows安装的路径,Linux安装时该选项值为编译时选择的路径】

技术分享

 

1.2 Mutex default:logs

互斥:允许你为多个不同的互斥对象设置互斥机制【mutex mechanism】和互斥文件目录,或者修改全局默认值

如果互斥对象是基于文件的以及默认的互斥文件目录不在本地磁盘或因为其它原因而不适用,那么取消注释并改变目录。

【下面这个命令是改变互斥对象的目录】

技术分享

 

1.3 Listen 配置

【Listen主要侦听web服务端口状态,默认为:80,即侦听所有的地址的80端口,注意这里也可以写成IP地址的侦听形式,不写即默认的地址:0.0.0.0】

技术分享

 

1.4 Dynamic Shared Object (DSO) Support(动态共享对象支持)

【主要用于添加Apache一些动态模块,比如php支持模块。重定向模块,认证模块支持,注意如果需要添加某些模块支持,只需把相关模块前面注释符号取消掉。如图所示,要对Apache添加某个功能模块,把前面的注释符号去掉就行】

技术分享

 

1.5 Apache运行用户配置

技术分享

【此选项主要用指定Apache服务的运行用户和用户组,默认为:daemon,如图所示下】

 

1.6 Apache服务默认管理员地址设置

技术分享

【此选项主要用指定Apache服务管理员通知邮箱地址,选择默认值即可,如果有真实的邮箱地址也可以设置此值】

 

1.7 Apache的默认服务名及端口设置

技术分享

【此选项主要用指定Apache默认的服务器名以及端口,默认参数值设置为:ServerName localhost:80即可】

 

1.8 Apache的根目录访问控制设置

技术分享

【此选项主要是针对用户对根目录下所有的访问权限控制,默认Apache对根目录访问都是拒绝访问。后面会继续讲到】

 

1.6 Apache的默认网站根目录设置及访问控制

技术分享

【此区域的配置文件,主要是针对Apache默认网站根目录的设置以及相关的权限访问设置,默认对网站的根目录具有访问权限,此选项默认值即可】

 

1.9 Apache的默认首页设置

技术分享

【此区域文件主要设置Apache默认支持的首页,默认只支持:index.html首页,如要支持其他类型的首页,需要在此区域添加:如index.php表示支持index.php类型首页】

 

1.10 Apache关于.ht文件访问配置

技术分享

【此选项主要是针对.ht文件访问控制,默认为具有访问权限,此区域文件默认即可】

 

1.11 Apache关于日志文件配置

技术分享【此区域文件主要是针对Apache默认的日志级别,默认的访问日志路径,默认的错误日志路径等相关设置,此选项内容默认即可】

 

1.11 URL重定向,cgi模块配置说明

技术分享

技术分享

技术分享

【此区域文件主要包含一些URL重定向,别名,脚本别名等相关设置,以及一些特定的处理程序,比如cgi设置说明。后期会继续说道】

 

1.12 MIME媒体文件,以及相关http文件解析配置说明

技术分享

【此区域文件主要包含一些mime文件支持,以及添加一些指令在给定的文件扩展名与特定的内容类型之间建立映射关系,比如添加对php文件扩展名映射关系。】

 

1.13 服务器页面提示设置

技术分享

【此区域可定制的访问错误响应提示,支持三种方式:1明文 ,2本地重定向 3,外部重定向;另外还包括内存映射或“发送文件系统调用”可被用于分发文件等配置】

 

1.14 Apache服务器补充设置

技术分享

【此区域主要包括:服务器池管理,多语言错误消息,动态目录列表形式配置,语言设置,用户家庭目录,请求和配置上的实时信息,虚拟主机,Apache Http Server手册,分布式创作和版本控制,多种类默认设置,mod_proxy_html,使其支持HTML4/XHTML1等等补充配置的补充】

 

1.15 Apache服务器安全连接设置

技术分享

【此区域主要是关于服务器安全连接设置,用于使用https连接服务器等设置的地方】

二、Apache扩展的配置文件

/application/apache/conf/extra          # apache扩展的配置文件

[[email protected] extra]# ll

total 56

-rw-r--r-- 1 root root  2859 Jan 10 01:49 httpd-autoindex.conf

-rw-r--r-- 1 root root  1753 Jan 10 01:49 httpd-dav.conf

-rw-r--r-- 1 root root  2344 Jan 10 01:49 httpd-default.conf

-rw-r--r-- 1 root root  1103 Jan 10 01:49 httpd-info.conf

-rw-r--r-- 1 root root  5078 Jan 10 01:49 httpd-languages.conf

-rw-r--r-- 1 root root   932 Jan 10 01:49 httpd-manual.conf

-rw-r--r-- 1 root root  3789 Jan 10 01:49 httpd-mpm.conf

-rw-r--r-- 1 root root  2207 Jan 10 01:49 httpd-multilang-errordoc.conf

-rw-r--r-- 1 root root 11185 Jan 10 01:49 httpd-ssl.conf

-rw-r--r-- 1 root root   817 Jan 10 01:49 httpd-userdir.conf

-rw-r--r-- 1 root root  1507 Jan 10 01:49 httpd-vhosts.conf # 虚拟主机配置文件

 

三、httpd-vhosts.conf虚拟主机配置文件注释

[[email protected] extra]# egrep -v "^.*#|^$"  httpd-vhosts.conf |nl

    1  NameVirtualHost *:80                                # 基于名称的虚拟主机配置( *:80表示监听本机所有ip)

    2  <VirtualHost *:80>                                  # 定义一个虚拟主机

    3      ServerAdmin [email protected]    # 配置管理员邮箱

    4      DocumentRoot "/application/apache2.2.22/docs/dummy-host.example.com"  # 程序的站点目录

    5      ServerName dummy-host.example.com               # 域名服务,需要apache mode_alias模块支持

    6      ServerAlias www.dummy-host.example.com          # 虚拟主机别名

    7      ErrorLog "logs/dummy-host.example.com-error_log"# 错误的日志路径

    8      CustomLog "logs/dummy-host.example.com-access_log" common  #访问日志配置(生产环境我们用combined格式代替common格式)

    9  </VirtualHost>

   10  <VirtualHost *:80>

   11      ServerAdmin [email protected]

   12      DocumentRoot "/application/apache2.2.22/docs/dummy-host2.example.com"

   13      ServerName dummy-host2.example.com

   14      ErrorLog "logs/dummy-host2.example.com-error_log"

   15      CustomLog "logs/dummy-host2.example.com-access_log" common

   16  </VirtualHost>

 

四、Apache服务存放站点的目录

/application/apache/htdocs              # 默认存放网页的路径,输入IP 到此目录 能够见到it‘s wroks! 就是此目录

[[email protected] htdocs]# less  index.html

<html><body><h1>It works!</h1></body></html>

 

 

五、Apache服务目录结构说明

[[email protected] htdocs]# ls /application/apache/

bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules

bin启动文件目录说明

|-- bin                    # apache服务的命令目录

|   |-- ab                 # http服务性能测试工具

|   |-- apachectl          # apache启动命令

|   |-- apr-1-config      

|   |-- apu-1-config

|   |-- apxs               # http服务编译和安装扩展模块使用工具,在DSO方式模块编译时用到

|   |-- checkgid

|   |-- dbmmanage

|   |-- envvars

|   |-- envvars-std

|   |-- htcacheclean       # 清理磁盘缓冲区的控制命令

|   |-- htdbm

|   |-- htdigest

|   |-- htpasswd           # 建立和更新基本认证文件

|   |-- httpd              # httpd为apache的控制命令程序

|   |-- httxt2dbm

|   |-- logresolve

|    -- rotatelogs         # apache自带的日子轮询命令(cronolog生产环境使用比较多)。

 

conf配置文件目录

[[email protected] htdocs]# ls /application/apache/conf/

extra  httpd.conf  magic  mime.types  original

/application/apache/conf/         # apache配置所有的配置文件目录

|-- extra                         # 额外的apache配置文件目录 如:httpd-vhost.conf

|   |-- httpd-autoindex.conf      

|   |-- httpd-dav.conf

|   |-- httpd-default.conf

|   |-- httpd-info.conf

|   |-- httpd-languages.conf

|   |-- httpd-manual.conf

|   |-- httpd-mpm.conf

|   |-- httpd-multilang-errordoc.conf

|   |-- httpd-ssl.conf

|   |-- httpd-userdir.conf

|   |-- httpd-vhosts.conf

|-- httpd.conf                     # apache主配置文件

|-- magic

|-- mime.types

|-- original

|   |-- extra

|   |   |-- httpd-autoindex.conf

|   |   |-- httpd-dav.conf                 # dav支持配置

|   |   |-- httpd-default.conf             # 这个文件里配置的是apache的相关服务参数:超时时间、保持链接

|   |   |-- httpd-info.conf

|   |   |-- httpd-languages.conf           # 语言支持

|   |   |-- httpd-manual.conf

|   |   |-- httpd-mpm.conf # 服务器池管理,也是优化apache的一个配置文件(apache的模式以及配置链接数,常用模式为worker模式和profork模式,默认porfork)

|   |   |-- httpd-multilang-errordoc.conf

|   |   |-- httpd-ssl.conf                 # 提供apache ssl支持配置文件

|   |   |-- httpd-userdir.conf

|   |   |-- httpd-vhosts.conf              # 虚拟机的配置文件

|   |-- httpd.conf

 

站点存放目录

[[email protected] apache]# ls -l htdocs/    # 默认的首页文件都放在此目录当中。

total 4

-rw-r--r-- 1 root root 44 Nov 21  2004 index.html

 

日志存放目录

[[email protected] apache]# tree logs

logs                 # apache服务默认的日志路径,包括错误日志和访问日志

|-- access_log       # apache服务访问日志 tail -f命令可以查看网页用户访问的信息

|-- cgisock.16406    

|-- error_log        # apache服务的错误日志。如:apache服务启动故障

|-- httpd.pid        # httpd的pid文件,http进程启动后,会把所有进程的id号写到此文件

 

模块目录

[[email protected] apache]# ls -l manual/     # apache的模块目录 如php mencache

total 2984

-rw-r--r-- 1 root root   543 May  6  2008 bind.html

-rw-r--r-- 1 root root 11422 Jan  3  2012 bind.html.de

以上是关于Apache配置文件详解的主要内容,如果未能解决你的问题,请参考以下文章

apache配置文件详解

linux下的apache配置文件详解

Apache的主要目录和配置文件详解

Apache的主要目录和配置文件详解

0 httpd2.2配置详解-Apache配置文件详解-

Apache配置文件重要指令详解