apache主配置文件httpd.conf详解

关于配置路径:如果以"/"开头指定了服务的文件路径,那么apache服务会使用这些指定的路径;
如果文件没有以"/"开头,比如"logs/access_log"而ServerRoot的值设定为"/usr/local/apache2",那么ServerRoot + "logs/access_log"拼接起来
"/usr/local/apache2/logs/access_log"做为文件的路径,所以ServerRoot的值就是apache服务的根目录,好比linux系统的/
ServerRoot "/usr/local/apache2"
1.ServerRoot:用于指定守护进程httpd的运行目录,httpd在启动之前将自动将进程的当前目录改变为这个目录。
2.Listen:设置apache绑定 特定的IP和端口
Listen 127.0.0.1:80

3.DSO(Dynamic Shared Object) Support
DSO是动态共享对象,是动态加载模块的一种方式,如果你想以DSO的方式使用某个已编译的模块的功能,则需要
通过"LoadModule 模块名"的方式,这样apache就将这个模块加载使用了,使用模块前需要加载才可以
例如;LoadModule foo_module modules/mod_foo.so

4.User/Group:表示apache服务以什么用户/组的身份运行,像大多数的系统服务一样,指明一个专门的用户运行apache服务是很好的
如果你想以一个另外的用户或组运行apache,要用root用户开启服务,然后它会自动切换到那个另外的用户,网站的安全与网站的用户和目录文件权限有非常重要的关系,设置网站user,group和权限等可参考http://blog.csdn.net/chaishen10000/article/details/46897901

Section1:主服务配置
在这个部分设置的指令用于主服务,响应(response)除<VirtualHost>虚拟主机之外的任何请求(request),设置的指令的值也为<VirtualHost>
虚拟主机容器提供了默认值。

5.ServerAdmin:管理员邮箱,当apache出现问题时,会像该邮箱发邮件。这个地址一般出现在某些服务器生成的页面,错误页面

6.ServerName:指明了服务器的域名和端口,它经常是apache服务自动决定的,但是我们建议指定它,防止服务启动时出现问题
如果你的服务器没有一个注册的DNS域名,请在这指定IP地址
7.<Directory />
    AllowOverride none
    Require all denied
</Directory>
以上内容表明了apache拒绝任何hosts访问服务器的整个文件系统,因此你必须清晰的授予你网站内容的权限在下面其他的<Directory>块


8.DocumentRoot:向外提供服务的目录,默认所有的请求都会进入这个目录,但是软链接和别名会用于指向其他的地方
<Directory "/var/www/html/">
9.Option指令的值有"None","All",或者是一些的任何组合:
Indexes Include FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

Options指令是复杂且重要的,请参考http://httpd.apache.org/docs/2.4/mod/core.html#options获取更多信息
10.AllowOverride:AllowOverride控制了哪个指令可以被apache服务所包含。通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里
AllowOverride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写。对于AllowOverride,还可以对它指定如下一些能被重写的指令类型

11.Require :控制谁能访问这台服务器,Require all granted表示所有人可以访问
</Directory>
12.DirectoryIndex;apache默认的启始页面

13.<Files ".ht*">
    Require all denied
</Files>
以上禁止了web用户访问.htaccess 和.ht开头的文件
14.ErrorLog:错误日志的记录路径。如果你没有特别指定<VirtualHost>的错误日志,那么虚拟主机相关的错误信息将会记录在这儿,
如果你在<VirtulHost>容器里特别指定了,错误日志将记录在那儿
15.LogLevel:指定了日志级别,控制了错误日志的记录数量,可选的值有:debug,info,notice,warn,error,crit
16. LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
      LogFormat "%h %l %u %t \"%r\" %>s %b" common
   LogFormat 表示日志格式,common 和combined是这两种日志格式的别名
 
17.CustomLog:访客日志

18.Redirect:301重定向,用来重写URL,主要用于原来存在于服务器上的文档,改变位置后又希望用老URL访问,以保持之前的URL兼容
Redirect permanent /foo http://www.example.com/bar
将/foo重定向到http://www.example.com/bar

19.Alias :映射URL到服务器文件系统中的真实位置,用于访问不在DocumentRoot下的文件,例如
,定义好映射的路径之后,应该需要使用Directory语句设置访问限制
Alias /web/path /full/filesystem/path 
Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all

20.scriptAlias:  ScriptAlias也是用于URL路径的映射,但与Alias的不同在于,ScriptAlias是用于映射CGI程序的路径,这个路径下的文件都被定义为CGI程序,通过执行它们来获得结果,而非由服务器直接返回其内容。缺省情况下CGI程序使用cgi-bin目录作为虚拟路径。
ScriptAlias /cgi-bin "/usr/local/apache2/cgi-bin"
AllowOverride None
Options None
Order allow,deny
Allow from all
21. TypesConfig conf/mime.types 
TypesConfig 用于设置保存有不同的MIME类型数据的文件名
22.AddType:可以为特定后缀的文件制定MIME类型,这里的设置将覆盖mime.types中的设置
23. AddEncoding用于告诉一些使用压缩的MIME类型,这样可以让浏览器进行解压缩操作
24.AddHandler:用于指定非静态的处理类型,用于定义文档为一个非静态的类型,需要进行处理再向浏览器返回信息
25.ErrorDocument 访问错误时,定义返回给客户指定的错误页面
26.PidFile:记录httpd守护进程的进程号,httpd能自动其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它是其他进程的
父进程,PidFile就是记录的父进程的进程号
27.Timeout :定义客户程序和服务器连接的超时间隔
28.KeepAlive On:在HTTP1.0中,一次连接只能做一次传输HTTP请求,而KeeplAive参数用于一次连接,多此请求的功能。虽然只有较新的
浏览器支持这个功能,但还是打开这个选项
29.MaxKeepAliveRequests 0 一次连接可以进行的HTTP请求的最大次数,设置为0表示无限制。事实上没有客户程序在一次连接中请求太多页面
30.KeepAliveTimeout 15:同一客户端在一次连接中,两次请求之间的最大时间间隔,超过这个间隔服务器将断开连接
31.ThreadPerChild 设置服务器使用进程的数目,以服务器的响应速度调整
32.MaxRequestsPerchild 30
使用子进程的方式提供服务的Web服务,常用的方式是一个子进程为一次连接服务,这样造成的问题就是每次连接都需要生成、退出子进程的系统操作,使得这些额外的处理过程占据了计算机的大量处理能力。因此最好的方式是一个子进程可以为多次连接请求服务,这样就不需要这些生成、退出进程的系统消耗,Apache就采用了这样的方式,一次连接结束后,子进程并不退出,而是停留在系统中等待下一次服务请求,这样就极大的提高了性能。
  
    但由于在处理过程中子进程要不断的申请和释放内存,次数多了就会造成一些内存垃圾,就会影响系统的稳定性,并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后,就可以让这个子进程副本退出,再从原始的htt pd进程中重新复制一个干净的副本,这样就能提高系统的稳定性。这样,每个子进程处理服务请求次数由MaxRe questPerChild定义。 缺省的设置值为30,这个值对于具备高稳定性特点的FreeBSD系统来讲是过于保守的设置,可以设置为1000甚至更高,设置为0支持每个副本进行无限次的服务处理。
33. AccessFileName .htaccess
  
    AccessFileName定义每个目录下的访问控制文件的文件名,缺省为.htaccess ,可以通过更改这个文件,来改变不同目录的访问控制限制。
  
   Order allow,deny
   Deny from all 

34MIMEMagicFile /usr/local/etc/apache/magic
   
    除了从文件的后缀出发来判断文件的MIME类型之外,Apache还可以进一步分析文件的一些特征,来判断文件的真实MIME类型。这个功能是由mod_mime_magic模块实现的,它需要一个记录各种MIME类型特征的文件,以进行分析判断。上面的设置是一个条件语句,如果载入了这个模块,就必须指定相应的标志文件magic的位置。
  
35.HostnameLookups Off
  
    通常连接时,服务器仅仅可以得到客户机的IP地址,如果要想获得客户机的主机名,以进行日志记录和提供给 CGI程序使用,就需要使用这个HostnameLookups选项,将其设置为On打开DNS反查功能。但是这将使服务器对每次客户请求都进行DNS查询,增加了系统开销,使得反应变慢,因此缺省设置为使用Off关闭此选项。关闭选项之后,服务器就不会获得客户机的主机名,而只能使用IP地址来记录客户。
36.ServerSignature On
  
    一些情况下,例如当客户请求的网页并不存在时,服务器将产生错误文档,缺省情况下由于打开了 ServerSignature选项,错误文档的最后一行将包含服务器的名字、Apache的版本等信息。有的管理员更倾向于不对外显示这些信息,就可以将这个参数设置为Off,或者设置为Email,最后一行将替换为对ServerAdmin 的Email提示。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值