您的位置:首页 > 理论基础 > 计算机网络

httpd.conf文件配置详解

2016-07-15 11:31 447 查看
Apache的基本设置主要交由httpd.conf来设定管理,我们要修改Apache的相关设定,主要还是通过修改httpd.cong来实现。下面让我们来看看httpd.conf的内容,它主要分成3大部分:

Section 1:Global Environment

Section 2:'Main' server configuration

Section 3:Virtual Hosts

【第一部分】

·ServerType standalone

这表示Apache是以standalone启动,也可以是inetd。所谓standalone是指启动一次来接听所有的连线;而inetd是接到http的连线要求才启动,随着连线的结束而结束,这样负担是不是很但呢?所以一般都是以standalone启动。

·ServerRoot "/usr/local/httpd"

此为apache的目录

·#LocdFile /use/local/httpd/logs/httpd.lock

保留预设值,不更动

·PidFile /usr/local/httpd/logs/httpd.pid

此文件记录着apache的父处理程序id

·ScoreBoardFile /usr/local/httpd/logs/httpd.scoreboard

此文件存储处理程序的信息

·#ResourceConfig conf/srm.conf

·#AccessConfig conf/access.conf

由于我们统筹由httpd.conf来管理,所以这两个文件预设是注解起来的,可以保留预设值不更动

·Timeout 300

设盯超时的时间。如果用户端超过300秒还没连上server,或server超过300秒还没传送信息给用户端,即断线。

·KeepAlive On

允许用户端的连线有多个请求,设为Off表示不允许

·MaxKeepAliveRequests 100

每次连线最大的请求树木,数字愈大,效能愈好。0表示不限制

·MinSpareServer 5

·MaxSpareServers 10

MinSpareServer 5表示最少会有5个闲置的处理程序,如果实际的数目少于此数目,则会增加处理程序。MaxSpareServers 10表示最大的闲置处理程序数目,如果你的网站需求量很大,可以将此数目设大一些,大不要随便将此数目设得太大。

·StartServers 5

启动时Server的数目

MaxClients 150

限制同时间最大的连线数目,当然不能设得太小,一旦达到此数目,就无法再增加用户端

·MaxRequestPerChild 0

限制子处理程序结果前的要求数目,0表示不限制

·#Listen 3000

·#Listen 12.34.56.78:80

使用其它的连接端口或IP

·BindAddress *

可以接听*(所有IP地址)、指定的IP地址或是完整的域名

·#LoadModule foo_module libexec/mod_foo.so

使用DSO模块

·#ExtendedStatus On

可检阅apache的状态信息,预设是Off(注解起来)

【第二部分】

如果之前的ServerType是inetd,请直接跳到ServerAdmin。

·Port 80

Standalone服务器接听的连接端口,当然也可以是其他小于1023的端口号

·User nobody

·Group nobody

执行httpd的用户和群组

·ServerAdmin 管理员的电子邮件地址

这是管理员的电子邮件地址,如果apache有问题的话,会寄信通知管理员,当然你也可以建立一个专门负责web的帐号来收信

·ServerName 你的主机名称

此为主机名称,如果没有域名,也可以用IP

·DocumentRoot "usr/local/httpd/htdocs"

此目录为apache放置网页的地方,里面的index.html即为连到此主机的预设首页

·

  Options FollowSymLinks

  AllowOverride none

 

此目录设定用户放置网页的目录(public_html)的执行动作。详细的目录存取方法会在后面说明

·

  Options Indexes FolloeSymLinks

  AllowOverride None

  Order allow,deny

  Allow from all

 

此目录设定apache的网页目录(htdocs)的执行动作

·UserDir public_html

用户可在自己的目录下建立public_html目录来放置网页,输入http://主机地址/~用户名称即可连接到...劳撤胖玫牡胤?/a>

·DirectoryIndex index.html

这里设定预设主页的名称

·AccessFileName .htaccess

这个是控制存取的文件名称,一般采用预设的.htaccess名称,后面会说明htaccess的使用方法

·

  Order allow,deny

  Deny from all

 

这用来防止其他人看到.ht开头的文件内容,不仅是保护.htaccess的内容,还保护.htpasswd的内容。当然也可以直接写成。如果你有更改AccessFilename,例如将.htaccess改成.accessht,请记得也要在此做相关的更改,如此才能防止其他人看到哦

·#CacheNegotiatedDocs

注解起来是告诉Proxy不要将互动产生的文件存入cache,如果拿掉#,则会存在cache中

·UseCanonicalName On

使用标准的名称,预设是On。假设有一个web server的全名是www.sample.com,一般称为www;如果us...羑ttp://www/abc

·TypeConfig /usr/local/httpd/conf/mime.types

指定存放MIME文件类型的文件。你可以自行编辑mime.types文件。

·DefaultType text/plain

当server不认得此文件类型时的预设格式,此设定是当成一般文字

·

  MIMEMagicFile /usr/local/httpd/conf/magic

 

mod_mime_magic模块可使server由文件内容决定其MIME类型。如果有载入mod_mime_magic模块,才会处理MIMEMagicFile这一段。如果是…,则表示如果没有载入该模块,才会处理这一段

·HostLookups Off

如果为On,则每次都会向name server解析该IP,记录此连线的名称(例如www.apache.org)自换岷牟簧偈奔洌...为Off,仅记录IP

·ErrorLog /usr/local/httpd/logs/error_log

指定发生错误的记录文件(error_log)位置。如果在没有指定发生错误的记录文件,则会沿用此文件

·LogLevel warn

记录分成很多等级,在此是warn。各等级如下: 等级 说明

debug debug信息

info 普通信息

notice 重要信息

warn 警告信息

error 发生错误 

crit 紧急情况

alert 马上要处理的情况

amerg 系统快要死了

·LogFormat "%h %l %u %t\"%r\"%>s %b\"{Referer}i\"\"${UserAgent}i\""combined

 LogFormat "%h %l %u %t"%r\"%>s %b"commom

 LogFormat "%{Referer}i->%U"referer

 LogFormat "%{User-agent}i"agent

自定四种记录格式:combined、common、referer、agent

·CustomLog /usr/local/httpd/logs/access_log common

存取的记录文件(access_log)使用自定的common格式

·#CustomLog /usr/local/httpd/logs/referer_log referer

 #CustomLog /usr/local/httpd/logs/agent_log agent

 #CustomLog /usr/local/httpd/logs/agent_log combined

这三个记录文件也是使用自定义格式(分别是referer、agent、combined),不过注解起来表示未使用这三个文件

·ServerSignature On

设为On时,在server所产生的网页(像是错误发生时)上,会有apache的版本、主机、连接端口的一行信息;如果设为Email,则会有mailto:给管理员的超链接

·Alias /icons/ "/usr/local/httpd/icons/"

使用较短的别名,其格式为:Alias 别名 原名。

·ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"

和Alias一样,只是这是设定server script的目录

·IndexOptions FancyIndexing

显示好看的文件清单(配合下面各文件所对应的图形)

·AddIconByEncoding(CMP,/icons/compressed.gif)x-conpress x-gzip

·AddIcon /icons/blank.gif^^BLANKICON^^DefaultIcon/icons/unknow.gif

这些是在显示文件清单(之前所说的FancyIndex)时,各种文件类型的对应图形。例如.ps .si .eps这三种文件的表示图形都是a.gif

·#AddDescription "GZIP conpressed document" .gz

 #AddDescription "tar archive" .tar

 #AddDescription "GZIP compressed tar archive" .tgz

这些是在显示文件清单时,在文件后面附上说明,其格式为:

AddDescription "说明" 文件名

例如:AddDescription "It is private txt" my.txt

·ReadmeName README

显示文件清单时,在最下面显示README的文件内容

设置CGI脚本/将httpd.conf做为唯一的配置文件/用户授权和访问控制等

关于Apache的配置及使用,在LinuxAid中已经有不少文章做了详细的阐述,本文讨论了在使用Apache时,有关配置文件的使用及对文件的访问控制等内容,算是对Apache的使用所做的一些补充吧!

如果您对Apache有一定的了解,特别是对几个配置文件有一定的了解,这将会有助于您对本文内容的理解;如果恰巧您不是很了解这几个配置文件的使用,那么就借着这个机会来一起熟悉一下吧。

一、关于CGI执行脚本的配置

这里有两种设置CGI脚本的方法。第一、CGI的脚本文件以.cgi为扩展名;第二、设置脚本可执行目录。但是这两种方法都需要将要执行的文件设置为711,才可以被执行。

第一种方法,我们需要在access.conf文件种将你要发行的目录设置为Option ExecCGI All,在srm.conf资源配置文件中,加上下列一句:

AddHandle cgi-script .cgi

这样在所有的目录种只要你的文件是.cgi为扩展名的,且文件访问权限为711的,无论给文件在你发行目录的任何一个
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: