首页 > 代码库 > Apache配置文件详解

Apache配置文件详解

Apache配置文件详解

 

*此为用yum安装的apache文件的各项解释和编译安装后的apache配置文件大同小异,仅做参考

 

httpd 的配置文件是:

/etc/httpd/conf/httpd.conf

//查看配置文件

# grep -v "#" /etc/httpd/conf/httpd.conf

//当服务器响应主机头(header)信息时显示Apache 的版本和操作系统名称

ServerTokens OS

//设置服务器的根目录

ServerRoot "/etc/httpd"

//设置运行Apache 时使用的PidFile 的路径

PidFile run/httpd.pid

//300 秒后没有收到或送出任何数据就切断该连接

Timeout 300

//不使用保持连接的功能,即客户一次请求连接只能响应一个文件

/建议用户将此参数的值设置为On,即允许使用保持连接的功能

KeepAlive Off

//在使用保持连接功能时,设置客户一次请求连接能响应文件的最大上限

MaxKeepAliveRequests 100

//在使用保持连接功能时,两个相邻的连接的时间间隔超过15 秒,就切断连接

KeepAliveTimeout 15

//设置使用prefork MPM 运行方式的参数,此运行方式是Red Hat 默认的方式

<IfModule prefork.c>

//设置服务器启动时运行的进程数

StartServers 8

//Apache 在运行时会根据负载的轻重自动调整空闲子进程的数目,

//若存在低于5 个空闲子进程,就创建一个新的子进程准备为客户提供服务

MinSpareServers 5

//若存在高于20 个空闲子进程,就创建逐一删除子进程来提高系统性能MaxSpareServers 20

//限制同一时间的连接数不能超过150

MaxClients 150

//限制每个子进程在结束处理请求之前能处理的连接请求为1000

MaxRequestsPerChild 1000

</IfModule>

//设置使用worker MPM 运行方式的参数

<IfModule worker.c>

…………

</IfModule>

//设置使用perchild MPM 运行方式的参数

<IfModule perchild.c>

…………

</IfModule>

//设置服务器的监听端口

Listen 80

///etc/httpd/conf.d 目录下的所有以conf 结尾的配置文件包含进来

Include conf.d/*.conf

//动态加载模块(DSO)

LoadModule access_module modules/mod_access.so

LoadModule auth_module modules/mod_auth.so

………………………………

LoadModule proxy_connect_modulemodules/mod_proxy_connect.so

//当使用内置模块prefork.c 时动态加载cgi_module

<IfModule prefork.c>

LoadModule cgi_module modules/mod_cgi.so

</IfModule>

//当使用内置模块worker.c 时动态加载cgid_module

<IfModule worker.c>

LoadModule cgid_module modules/mod_cgid.so

</IfModule>

//设置运行Apache 服务器的用户和组

User apache

Group apache

//设置Apache 服务器管理员的E-mail 地址

ServerAdmin root@localhost

//关闭此选项,当Apache 服务器需要指向本身的连接时使用

//ServerName:Port 作为主机名,例如www.jamond.net:80

//若打开此选项将使用www.jamond.net port 80 作为主机名

UseCanonicalName Off

//设置根文档路径

DocumentRoot "/var/www/html"

//设置Apache 服务器根的访问权限

<Directory />

//允许符号链接跟随,访问不在本目录下的文件

Options FollowSymLinks

//禁止读取.htaccess 配置文件的内容

AllowOverride None

</Directory>

//设置根文档目录的访问权限

<Directory "/var/www/html">

//Indexes:当在目录中找不到DirectoryIndex 列表中指定的文件

// 就生成当前目录的文件列表

//FollowSymLinks:允许符号链接跟随,访问不在本目录下的文件

Options Indexes FollowSymLinks

//禁止读取.htaccess 配置文件的内容

AllowOverride None

//指定先执行Allow(允许)访问规则,再执行Deny(拒绝)访问规则

Order allow,deny

//设置Allow(允许)访问规则,允许所有连接

Allow from all

</Directory>

//Apache 服务器根的访问不生成目录列表,同时指定错误输出页面

<LocationMatch "^/$>

Options -Indexes

ErrorDocument 403 /error/noindex.html

</LocationMatch>

//不允许每用户的服务器配置

<IfModule mod_userdir.c>

UserDir disable

</IfModule>

//当访问服务器时,依次查找页面index.htmlindex.html.var

DirectoryIndex index.html index.html.var

//指定保护目录配置文件的名称

AccessFileName .htaccess

//拒绝访问以.ht 开头的文件,即保证.htaccess 不被访问

<Files ~ "^\.ht">

Order allow,deny

Deny from all

</Files>

//指定负责处理MIME 对应格式的配置文件的存放位置

TypesConfig /etc/mime.types

//指定默认的MIME 文件类型为纯文本或HTML 文件

DefaultType text/plain

//mod_mime_magic.c 模块被加载时,指定Magic 信息码配置文件的存放位置

<IfModule mod_mime_magic.c>

MIMEMagicFile conf/magic

</IfModule>

//只记录连接Apache 服务器的IP 地址,而不记录主机名

HostnameLookups Off

//指定错误日志存放位置

ErrorLog logs/error_log

//指定记录的错误信息的详细等级为warn 级别

LogLevel warn

//定义四种记录日志的格式

LogFormat "%h %l %u %t \"%r\" %>s %b\"%{Referer}i\" \"%{User-Agent}i\""

combined

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

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

LogFormat "%{User-agent}i" agent

//指定访问日志的记录格式为combined(混合型),并指定访问日志存放位置

CustomLog logs/access_log combined

//设置Apache 自己产生的页面中使用Apache 服务器版本的签名

ServerSignature On

//设置内容协商目录的访问别名

Alias /icons/ "/var/www/icons/"

//设置/var/www/icons 目录的访问权限

<Directory "/var/www/icons">

// MultiViews:使用内容协商功能决定被发送的网页的性质

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

</Directory>

//设置Apche 手册的访问别名

Alias /manual "/var/www/manual"

//设置/var/www/manual 目录的访问权限

<Directory "/var/www/manual">

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

Allow from all

</Directory>

//指定DAV 加锁数据库文件的存放位置

<IfModule mod_dav_fs.c>

DAVLockDB /var/lib/dav/lockdb

</IfModule>

//设置CGI 目录的访问别名

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

//由于Red Hat 中不使用worker MPM 运行方式,所以不加载mod_cgid.c 模块

<IfModule mod_cgid.c>

Scriptsock run/httpd.cgid

</IfModule>

//设置CGI 目录的访问权限

<Directory "/var/www/cgi-bin">

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

//设置自动生成目录列表的显示方式

// FancyIndexing:对每种类型的文件前加上一个小图标以示区别

// VersionSort:对同一个软件的多个版本进行排序

// NameWidth=*:文件名子段自动适应当前目录下最长文件名

IndexOptions FancyIndexing VersionSort NameWidth=*

//当使用IndexOptions FancyIndexing 之后,配置下面的参数,

//用于告知服务器在遇到不同的文件类型或扩展名时采用MIME 编码格式

//辨别文件类型并显示相应的图标

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

AddIconByType (TXT,/icons/text.gif) text/*

AddIconByType (IMG,/icons/image2.gif) image/*

AddIconByType (SND,/icons/sound2.gif) audio/*

AddIconByType (VID,/icons/movie.gif) video/*

//当使用IndexOptions FancyIndexing 之后,配置下面的参数,

//用于告知服务器在遇到不同的文件类型或扩展名时采用所指定的格式

//并显示所对应的图标

AddIcon /icons/binary.gif .bin .exe

………………

AddIcon /icons/blank.gif ^^BLANKICON^^

//当使用IndexOptions FancyIndexing 之后,且无法识别文件类型时

//显示此处定义的图标

DefaultIcon /icons/unknown.gif

//当服务器自动列出目录列表时,在所生成的页面之后显示README.html 的内容

ReadmeName README.html

//当服务器自动列出目录列表时,在所生成的页面之前显示HEADER.html 的内容

HeaderName HEADER.html

//设置在线浏览用户可以实时解压缩.Z .gz .tgz 类型的文件

//并非所有浏览器都支持

AddEncoding x-compress Z

AddEncoding x-gzip gz tgz

//设置网页内容的语言种类(浏览器要启用内容协商)

//对中文网页,此项无实际意义

AddLanguage da .dk

…………

AddLanguage hr .hr

//当启用内容协商时,设置语言的先后顺序

LanguagePriority en da nl et fr de el it ja kr no plpt pt-br ltz ca es sv

tw

// Prefer:当有多种语言可以匹配时,使用LanguagePriority 列表的第1

// Fallback:当没有语言可以匹配时,使用LanguagePriority 列表的第1

ForceLanguagePriority Prefer Fallback

//设置默认字符集

AddDefaultCharset ISO-8859-1

//设置各种字符集

AddCharset ISO-8859-1 .iso8859-1 .latin1

……………………

AddCharset shift_jis .sjis

//添加新的MIME 类型(避免用户编辑/etc/mime.types

AddType application/x-tar .tgz

//设置Apache 对某些扩展名的处理方式

AddHandler imap-file map

AddHandler type-map var

//使用过滤器执行SSI

AddOutputFilter INCLUDES .shtml

//设置错误页面目录的别名

Alias /error/ "/var/www/error/"

//设置/var/www/error 目录的访问权限

<IfModule mod_negotiation.c>

<IfModule mod_include.c>

<Directory "/var/www/error">

AllowOverride None

Options IncludesNoExec

AddOutputFilter Includes html

AddHandler type-map var

Order allow,deny

Allow from all

LanguagePriority en es de fr

ForceLanguagePriority Prefer Fallback

</Directory>

//设置错误输出页面

ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var

ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var

………………

ErrorDocument 506/error/HTTP_VARIANT_ALSO_VARIES.html.var

</IfModule>

</IfModule>

//设置浏览器匹配

BrowserMatch "Mozilla/2" nokeepalive

BrowserMatch "MSIE 4\.0b2;" nokeepalivedowngrade-1.0 force-response-1.0

BrowserMatch "RealPlayer 4\.0"force-response-1.0

BrowserMatch "Java/1\.0" force-response-1.0

BrowserMatch "JDK/1\.0" force-response-1.0

BrowserMatch "Microsoft Data Access InternetPublishing Provider"

redirect-carefully

BrowserMatch "^WebDrive" redirect-carefully

#

 

-介绍Apache服务器文件和目录:

WEB站点目录                                                                          描述

/var/www                          Apache WEB站点文件的目录

/var/www/html                WEB站点的WEB文件

/var/www/cgi-bin            CGI程序文件

/var/www/html/manual   Apache WEB服务器手册

/var/www/htmll/usage    webalizer程序文件

 

配置文件

/etc/httpd/conf     基于目录的配置文件,.htaccess文件包含对它所在目录中文件的访问控制指令

/etc/httpd/conf/httpd.conf   Apache WEB服务器配置文件目录

/etc/httpd/conf/srm.conf      主要的Apache WEB服务器配置文件

/etc/httpd/conf/access.conf   用来处理文档规范,配置文件类型昨未知的老式配置文件

 

启动脚本

/etc/rc.d/init.d/httpd       WEB服务器守护进程的启动脚本

/etc/rc.d/rc3.d/S85httpd   将运行级目录(/etc/rc3.d)连接到目录/etc/rc.d/init.d中的启动脚本

 

应用文件

/usr/sbin      Apache WEB服务器程序文件和应用程序的位置

/usr/doc/   Apache WEB服务器文档

/var/log/http  Apache 日志文件的位置

 

 


本文出自 “Study-Everyday” 博客,请务必保留此出处http://studys.blog.51cto.com/9736817/1597939

Apache配置文件详解