2013-11-22 12:58:17
来 源
kejihao
Apache
本文介绍Apache服务器httpd.conf配置详解,希望对于初学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_module modules/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 [email protected] 

//关闭此选项,当Apache 服务器需要指向本身的连接时使用 //ServerName:Port 作为主机名,例如www.jamond.net:80 //若打开此选项将使用www.jamond.net port 80 作为主机名 

UseCanonicalName Off 

//设置根文档路径 

DocumentRoot "/var/www/html" 

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

<Directory /> 

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

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

</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.html、index.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 pl pt 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;" nokeepalive downgrade-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 Internet Publishing Provider" redirect-carefully 

BrowserMatch "^WebDrive" redirect-carefully # 

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。