Apache的配置文件http.conf参数含义详解

合集下载

Apache配置文件详解

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 秒后没有收到或送出任何数据就切断该连接Tim eout 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//限制同一时间的连接数不能超过150MaxClients 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.soLoadModule auth_module modules/mod_auth.so ………………………………LoadModule proxy_connect_m odule m odules/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 apacheGroup apache//设置Apache 服务器管理员的E-m ail 地址ServerAdmin root@localhost//关闭此选项,当Apache 服务器需要指向本身的连接时使用//ServerName:Port 作为主机名,例如:80//若打开此选项将使用 port 80 作为主机名UseCanonicalName Off//设置根文档路径Document Root "/var/www/ht ml"//设置Apache 服务器根的访问权限<Directory />//允许符号链接跟随,访问不在本目录下的文件Options FollowSymLinks//禁止读取.htaccess 配置文件的内容AllowOverride None</Directory>//设置根文档目录的访问权限<Directory "/var/www/ht ml">//Indexes:当在目录中找不到DirectoryIndex 列表中指定的文件// 就生成当前目录的文件列表//FollowSymLinks:允许符号链接跟随,访问不在本目录下的文件Options Indexes FollowSymLinks//禁止读取.htaccess 配置文件的内容AllowOverride None//指定先执行Allow(允许)访问规则,再执行Deny(拒绝)访问规则Order allow,deny//设置Allow(允许)访问规则,允许所有连接Allow from all</Directory>//对Apache 服务器根的访问不生成目录列表,同时指定错误输出页面<LocationMatch "^/$>Options -IndexesErrorDocum ent 403 /error/noindex.ht ml</LocationMatch>//不允许每用户的服务器配置<IfModule mod_userdir.c>UserDir disable</IfModule>//当访问服务器时,依次查找页面index.ht ml、index.ht m l.varDirectoryIndex index.ht ml index.ht ml.var//指定保护目录配置文件的名称AccessFileName .htaccess//拒绝访问以.ht 开头的文件,即保证.htaccess 不被访问<Files ~ "^\.ht">Order allow,denyDeny from all</Files>//指定负责处理MIME 对应格式的配置文件的存放位置TypesConfig /etc/m ime.types//指定默认的MIME 文件类型为纯文本或HTML 文件DefaultType text/plain//当mod_mime_magic.c 模块被加载时,指定Magic 信息码配置文件的存放位置<IfModule mod_mime_m agic.c>MIMEMagicFile conf/m agic</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\"" com binedLogFormat "%h %l %u %t \"%r\" %>s %b" commonLogFormat "%{Referer}i -> %U" refererLogFormat "%{User-agent}i" agent//指定访问日志的记录格式为com bined(混合型),并指定访问日志存放位置Custom Log logs/access_log com bined//设置Apache 自己产生的页面中使用Apache 服务器版本的签名ServerSignature On//设置内容协商目录的访问别名Alias /icons/ "/var/www/icons/"//设置/var/www/icons 目录的访问权限<Directory "/var/www/icons">// MultiViews:使用内容协商功能决定被发送的网页的性质Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory>//设置Apche 手册的访问别名Alias /manual "/var/www/manual"//设置/var/www/m anual 目录的访问权限<Directory "/var/www/manual">Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyAllow 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 NoneOptions NoneOrder allow,denyAllow from all</Directory>//设置自动生成目录列表的显示方式// FancyIndexing:对每种类型的文件前加上一个小图标以示区别// VersionSort:对同一个软件的多个版本进行排序// NameWidth=*:文件名子段自动适应当前目录下最长文件名IndexOptions FancyIndexing VersionSort NameWidth=*//当使用IndexOptions FancyIndexing 之后,配置下面的参数,//用于告知服务器在遇到不同的文件类型或扩展名时采用MIME 编码格式//辨别文件类型并显示相应的图标AddIconByEncoding (CMP,/icons/com pressed.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/m ovie.gif) video/*//当使用IndexOptions FancyIndexing 之后,配置下面的参数,//用于告知服务器在遇到不同的文件类型或扩展名时采用所指定的格式//并显示所对应的图标AddIcon /icons/binary.gif .bin .exe………………AddIcon /icons/blank.gif ^^BLANKICON^^//当使用IndexOptions FancyIndexing 之后,且无法识别文件类型时//显示此处定义的图标DefaultIcon /icons/unknown.gif//当服务器自动列出目录列表时,在所生成的页面之后显示README.ht ml 的内容Readm eName README.ht ml//当服务器自动列出目录列表时,在所生成的页面之前显示HEADER.ht ml 的内容HeaderName HEADER.ht ml//设置在线浏览用户可以实时解压缩.Z .gz .tgz 类型的文件//并非所有浏览器都支持AddEncoding x-com press ZAddEncoding 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 m apAddHandler type-m ap var//使用过滤器执行SSIAddOutputFilter INCLUDES .sht ml//设置错误页面目录的别名Alias /error/ "/var/www/error/"//设置/var/www/error 目录的访问权限<IfModule mod_negotiation.c><IfModule mod_include.c><Directory "/var/www/error">AllowOverride NoneOptions IncludesNoExecAddOutputFilter Includes ht mlAddHandler type-m ap varOrder allow,denyAllow from allLanguagePriority en es de frForceLanguagePriority Prefer Fallback</Directory>//设置错误输出页面ErrorDocum ent 400 /error/HTTP_BAD_REQUEST.html.varErrorDocum ent 401 /error/HTTP_UNAUTHORIZED.ht ml.var………………ErrorDocum ent 506 /error/HTTP_VARIANT_ALSO_VARIES.ht m l.var</IfModule></IfModule>//设置浏览器匹配BrowserMatch "Mozilla/2" nokeepaliveBrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0BrowserMatch "Java/1\.0" force-response-1.0BrowserMatch "JDK/1\.0" force-response-1.0BrowserMatch "Microsoft Data Access Internet Publishing Provider"redirect-carefullyBrowserMatch "^WebDrive" redirect-carefully#】介绍Apache服务器文件和目录:WEB站点目录描述/var/www Apache WEB站点文件的目录/var/www/ht ml WEB站点的WEB文件/var/www/cgi-bin CGI程序文件/var/www/ht ml/manual Apache WEB服务器手册/var/www/ht mll/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 日志文件的位置。

httpd.conf详细设置

httpd.conf详细设置

#### 虚拟主机必须重新设定的指令
#文档树的根目录(没有真正的主服务器,因此不设置此值)(不能包含结尾斜杠)
#DocumentRoot directory-path
#当没有指定ServerName时,服务器会尝试对IP地址进行反向查询来推断主机名。
#所以,必须胡乱设置一个默认的主服务器主机名
#411 必须发送Content-Length头否则无法处理
ErrorDocument 411 /error/http|ErrCode=411.htm
#412 指定的一些前提条件失败
ErrorDocument 411 /error/http|ErrCode=412.htm
#413 请求实体太大
#可以巧妙解决双线机房以及同目录多站点的问题 #还可以巧妙解决同时运行产品环境和开发环境的问题(本配置未使用该技巧)
UseCanonicalName Off
UseCanonicalPhysicalPort Off
#####################################################################
LogLevel warn
</IfModule>
#### 处理器
<IfModule mpm_winnt_module>
#定位CGI脚本解释器(仅用于Win32)
ScriptInterpreterSource Script
</IfModule>
#强制所有匹配的文件被一个指定的处理器处理
##### 适用于主服务器配置的动态加载模(DSO)块指令 #####
#### mod_deflate ####

apache下配置详解

apache下配置详解

Apache下关于虚拟主机的配置关于虚拟主机的概述:配置虚拟主机主要应用场景:多站点访问,一个服务器放置了多个站点服务。

主要的三种配置方法:1、基于IP 2、基于端口3、基于主机名步骤详解:1.虚拟主机使用的话,必须将中心服务关闭,在/etc/httpd/conf/httpd.conf文件里,将DocumentRoot一行注释掉来关闭中心服务。

2.可以在httpd.conf文件最后面直接添加虚拟主机的配置内容,也可以在/etc/httpd/conf.d/下面创建一个自己的配置文件,如:my.conf文件。

3.my.conf文件配置详解1)基于IP配置<VirtualHost 192.168.0.112:80>ServerName DocumentRoot "/www/"</VirtualHost><VirtualHost 192.168.0.113:80>ServerName DocumentRoot "/www/"</VirtualHost>以上2个虚拟主机配置的IP分别为192.168.0.113和192.168.0.112,端口同为80端口。

这样在浏览器分别输入不同的ip或域名时就会访问到不同的站点。

Tips:如果只有一块网卡可以同过ipaddr add 192.168.0.112 dev eth0来添加辅助ip。

如果是域名方式访问,还需要在windows和linux下的hosts文件里面自行添加域名解析。

关于辅助ip的设置:ipaddr add 192.168.0.112/24 dev eth0这是为网卡设置一个辅助ip。

假如一个网卡的ip地址为192.168.0.22,执行上面的命令,在用ifconfig 查看,会发现有两个ip地址,而192.168.0.22称为主地址(Primary IP address),而192.168.0.112称为辅助地址(secondary IP address),一块网卡是允许有多个IP地址的,所以就算再多添加几个secondary IP 也是合法行的。

Apache配置文件详解及优化

Apache配置文件详解及优化

Apache配置⽂件详解及优化 Apache配置⽂件详解及优化ServerTokens OS#这个项⽬仅仅是在告知客户端我们服务器的版本和操作系统⽽已,不需要改动他#如果不在乎你的系统信息被远程⽤户查询到,则可以将这个项⽬注释掉(不建议)ServerRoot "/etc/httpd"#服务器设置的最顶层⽬录,有点类似于chroot那种感觉。

包括logs , modules等#的数据都应该要放置在此⽬录下⾯(如果这些配置没有声明成绝对路径的话)PidFile run/httpd.pid#放置PID的⽂件,可⽅便apache软件的管理。

只有相对路径考虑ServerRoot设置值,#所以⽂件在/etc/httpd/run/httpd.pidTimeout 60#不论接收或发送,当持续连接等待超过60秒则该次连接就中断#⼀般来说,此数值在300秒左右即可,不需要修改这个原始值KeepAlive Off#这⾥最好把默认值“Off”修改为“On”#这⾥表⽰是否允许持续性的连接,也就是⼀个TCP连接可以具有多个⽂件资料传送的要求#举例来说,如果你的⽹页内含有很多图⽚⽂件,那么这⼀次连接就会将所有的数据传送完#⽽不必每⼀个图⽚都需要进⾏⼀次TCP连接。

MaxKeepAliveRequests 100#可以将默认的100改成500或更⾼#与上⼀个设置的值KeepAlive有关,当KeepAlive的值设置为On的时候,这个数值可以决定#该次连接能够传输的最⼤传输数量。

为了提⾼效率则可以改⼤⼀点。

0代表不限制KeepAliveTimeout 65#在KeepAlive设置为“On”的情况下,该次连接在最后⼀次传输后等待延迟的秒数#当超过该秒数的时候该连接中断。

保持默认值15即可,如果设置的值太⾼(等待时间较长)#在较忙碌的系统上⾯将会有较多的Apache程序占⽤资源,可能有效率⽅⾯的问题。

<IfModule prefork.c>StartServers 8 #启动Apache的时候,唤醒⼏个PID来处理服务的。

httpd 配置

httpd 配置

allow 可以取得控制;
deny 禁止取得控制。
现在我们一起来看看关于目录"/home/httpd/html"的设置的含义:它使得这个
目录,如果不存在index.htm文件时,列出目录信息以供选择,准许SSI,允许
执行CGI程序,开启了动态连接。它不允许再使用在文件".htaccess"中设定来
及在哪里和如何提供们。
DocumentRoot命令,用来指定主文档的地址。
命令格式: DocumentRoot [Path]
例:DocumentRoot /home/httpd/html
UserDir 命令,用来指定个人主页的位置。如果你有一个用户test,那么它主
例:Server Admin [email]admin@[/email]
ErrorLog命令,用来指定错误记录文件名称和路径。
命令格式: ErrorLog [log filename]
例:ErrorLog /var/httpd/error.log
Timeout命令,只要客户端超过这里设定的秒数还没有完成一个请求的话,服务
覆盖这里所设置的权限。使所有的人都可以取得控制。
该文件的第二段非注释部分如下:
<Directory /home/httpd/cgi-bin>
Option ExecCGI
AllowOverride None
</Directory>
这个表示目录"/home/httpd/cgi"的设置为,当前目录下可以执行CGI程序。不
如果我们利用了LINUX系统架设了一台WEB服务器,我们不仅可以存放公司的主

Apache服务器httpd.conf中英文对照

Apache服务器httpd.conf中英文对照

## This is the main Apache HTTP server configuration file. It contains the# configuration directives that give the server its instructions.# See <URL:/docs/2.2/> for detailed information.# In particular, see# <URL:/docs/2.2/mod/directives.html># for a discussion of each configuration directive.## 这是Apache web 服务器的主要配置文件。

它含有给apache服务器的配置指令或者说指示。

# 要得到更多详细信息,请到/docs/2.2/# 特别是要到/docs/2.2/mod/directives.html看里面的对每个配置指令的讨论。

## Do NOT simply read the instructions in here without understanding# what they do. They're here only as hints or reminders. If you are unsure# consult the online docs. You have been warned.## 不要简单地读取这里的指令,而不去真正了解它们有什么作用。

它们只作为提示或者提醒存在这里。

# 如果你不确定参阅的在线文档。

你已经被警告。

## Configuration and logfile names: If the filenames you specify for many# of the server's control files begin with "/" (or "drive:/" for Win32), the# server will use that explicit path. If the filenames do *not* begin# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"# with ServerRoot set to "C:/Program Files/Apache Software Foundation/Apache2.2" will be interpreted by the# server as "C:/Program Files/Apache Software Foundation/Apache2.2/logs/foo.log".## 配置和日志文件名:如果你给很多服务器控制文件指定的文件名是以“/"(或者Win32里的"盘符:/")开头,# 服务器会使用精确的路径。

Apachehttpd.conf配置详解

Apachehttpd.conf配置详解

Apachehttpd.conf配置详解常⽤配置指令说明1. ServerRoot:服务器的基础⽬录,⼀般来说它将包含conf/和logs/⼦⽬录,其它配置⽂件的相对路径即基于此⽬录。

默认为安装⽬录,不需更改。

语法:ServerRoot directory-path如: ServerRoot "/usr/local/apache-2.2.6"注意,此指令中的路径最后不要加 / 。

2. Listen:指定服务器监听的IP和端⼝。

默认情况下Apache会在所有IP地址上监听。

Listen是Apache2.0以后版本必须设置的指令,如果在配置⽂件中找不到这个指令,服务器将⽆法启动。

语法:Listen [IP-address:]portnumber [protocol]Listen指令指定服务器在那个端⼝或地址和端⼝的组合上监听接⼊请求。

如果只指定⼀个端⼝,服务器将在所有地址上监听该端⼝。

如果指定了地址和端⼝的组合,服务器将在指定地址的指定端⼝上监听。

可选的protocol参数在⼤多数情况下并不需要,若未指定该参数,则将为443端⼝使⽤默认的https 协议,为其它端⼝使⽤http协议。

使⽤多个Listen指令可以指定多个不同的监听端⼝和/或地址端⼝组合。

默认为:Listen 80如果让服务器接受80和8080端⼝上请求,可以这样设置:Listen 80Listen 8080如果让服务器在两个确定的地址端⼝组合上接受请求,可以这样设置:Listen 192.168.2.1:80Listen 192.168.2.2:8080如果使⽤IPV6地址,必须⽤⽅括号把IPV6地址括起来:Listen [2001:db8::a00:20ff:fea7:ccea]:803. LoadModule:加载特定的DSO模块。

Apache默认将已编译的DSO模块存放于4.1⽬录结构⼩节中所⽰的动态加载模块⽬录中。

Apache配置详解

Apache配置详解

Apache配置详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。

主站点的配置(基本配置)(1) 基本配置:ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。

其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。

PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。

Listen 80 #服务器监听的端口号。

ServerName :80 #主站点名称(网站的主机名)。

ServerAdmin admin@ #管理员的邮件地址。

DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。

以下是对主站点的目录进行访问控制:<Directory "/mnt/web/clusting">Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI: 在该目录下允许执行CGI脚本。

FollowSymLinks: 在该目录下允许文件系统使用符号连接。

Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。

SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。

其它可用值和含义请参阅:/Apache/ApacheManual/mod/core.html#options AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None: 当AllowOverride被设置为None时。

httpd配置文件httpd.conf规则说明和一些基本指令

httpd配置文件httpd.conf规则说明和一些基本指令

httpd配置⽂件httpd.conf规则说明和⼀些基本指令本⽂主要介绍的是httpd的配置⽂件,包括⼀些最基本的指令、配置规则、配置合并规则。

以下指令完全来⾃官⽅⼿册以及我⾃⼰的总结和整理。

1.1 httpd命令和apachectl命令[root@xuexi ~]# httpd -hUsage: httpd [-D name] [-d directory] [-f file][-C "directive"] [-c "directive"][-k start|restart|graceful|graceful-stop|stop][-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]Options:-D name : 定义⼀个在< IfDefine name >中使⽤的name,以此容器中的指令-d directory : 指定ServerRoot-f file : 指定配置⽂件-C "directive" : 指定在加载配置⽂件前要处理的指令(directive)-c "directive" : 指定在加载配置⽂件后要处理的指令-e level : 显⽰httpd启动时的⽇志调试级别-E file : 将启动信息记录到指定⽂件中-v : 显⽰版本号-V : 显⽰编译配置选项-h : 显⽰帮助信息-l : 显⽰已编译但⾮动态编译的模块,即静态编译的模块-L : 显⽰静态模块可⽤的指令列表-t -D DUMP_VHOSTS : 显⽰虚拟主机的设置信息-t -D DUMP_RUN_CFG : 显⽰运⾏参数-S : 等价于-t -D DUMP_VHOSTS -D DUMP_RUN_CFG。

在调试如何解析配置⽂件时⾮常⾮常有⽤-t -D DUMP_MODULES : 显⽰所有已被加载的模块,包括静态和动态编译的模块-M : 等价于-t -D DUMP_MODULES-t : 检查配置⽂件语法-T : 不检查DocumentRoot,直接启动-X : 调试模式,此模式下httpd进程依赖于终端-k : 管理httpd进程,接受start|restart|graceful|graceful-stop|stopapachectl命令和httpd命令基本相同。

Apache的配置文件

Apache的配置文件

Apache的配置文件✓出处:站长百科✓原文地址:/wiki/Apache的配置文件✓本电子书整理自站长百科Apache的配置文件词条,查看内容请访问网站。

目录Apache的配置文件 (1)主配置文件 (2)配置文件的语法 (2).htaccess 文件 (2)配置段(容器)的类型 (3)配置段的合并 (4)更多电子书 (7)HostEase拥有中文网站()的美国主机商中国访问最快的美国主机中文网站轻松选购支付宝付款购买快捷中文客户服务沟通更方便,轻松省钱请看优惠码/top/hostease/推荐内容:关键词密度检测工具| 反向链接查询工具主配置文件Apache的配置文件是包含若干指令的纯文本文件。

主配置文件通常叫httpd.conf ,其位置是编译时确定的,但可以用命令行参数 -f 来改变。

另外,还可以用Include指令和通配符附加许多其他配置文件。

任何配置文件都可以使用任何指令。

只有在启动或重新启动Apache后,主配置文件的更改才会生效。

服务器还会读取一个包含MIME文件类型的文件,其文件名由TypesConfig指令确定,默认值是mime.types 。

配置文件的语法Apache配置文件的每一行包含一个指令,在行尾使用反斜杠"\"可以表示续行,但是反斜杠与下一行之间不能有任何其他字符(包括空白字符)。

配置文件中的指令是不区分大小写的,但是指令的参数(argument)通常是大小写敏感的。

以"#"开头的行被视为注解并被忽略。

注解不能出现在指令的后边。

空白行和指令前的空白字符将被忽略,因此可以采用缩进以保持配置层次的清晰。

可以用 apachectl configtest 或者命令行选项 -t 检查配置文件中的错误,而无须启动Apache服务器。

.htaccess 文件Apache可以使用分布在整个网站文件目录树结构中的特殊文件来进行分散配置,这些特殊的文件通常叫.htaccess ,但是也可以用AccessFileName指令来改变它的名字。

Apache配置文件详解

Apache配置文件详解

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对根⽬录访问都是拒绝访问。

http.conf详解

http.conf详解

Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
这里定义的是系统对外发布文档的目录的访问设置,设置不同的AllowOv安全控制文件的关系,而Options选项用于定义该目录的特性。
ServerAdmin you@your.address
配置文件中应该改变的也许只有ServerAdmin, 这一项用于配置WWW服务器的管理员的email地址,这将在HTTP服务出现错误的条件下返回给浏览器,以便让Web使用者和管理员联系,报告错误。习惯上使用服务器上的webmaster作为WWW服务器的管理员,通过邮件服务器的别名机制,将发送到webmaster 的电子邮件发送给真正的Web管理员。
通常一个Web服务器可以具有多个名字,客户浏览器可以使用所有这些名字或IP地址来访问这台服务器,但在没有定义虚拟主机的情况下,服务器总是以自己的正式名字回应浏览器。ServerName就定义了Web服务器自己承认的正式名字,例如一台服务器名字(在DNS中定义了A类型)为 ,同时为了方便记忆还定义了一个别名(CNAME记录)为,那么 Apache自动解析得到的名字就为,这样不管客户浏览器使用哪个名字发送请求,服务器总是告诉客户程序自己为。虽然这一般并不会造成什么问题,但是考虑到某一天服务器可能迁移到其他计算机上,而只想通过更改 DNS中的www别名配置就完成迁移任务,所以不想让客户在其书签中使用 freebsd记录下这个服务器的地址,就必须使用ServerName来重新指定服务器的正式名字。
Options FollowSymLinks

httpd.conf配置完美详解

httpd.conf配置完美详解

httpd.conf配置完美详解Linux下httpd.conf 配置详解1. 关于本文本文将以Apache 2.2为例,以rhel5为平台,讲述Apache服务器的安装和设置。

2. 关于ApacheApache 是一款功能强大、稳定、可支撑关键任务的Web服务器Apache具有如下特性:1) 几乎可以运行在所有的计算机平台上.2) 支持最新的HTTP/1.1协议3) 简单而且强有力的基于文件的配置(HTTPD.CONF).4) 支持通用网关接口(CGI)5) 支持虚拟主机.6) 支持HTTP认证.7) 集成PERL.8) 集成的代理服务器9) 可以通过WEB浏览器监视服务器的状态, 可以自定义日志.10) 支持服务器端包含命令(SSI).11) 支持安全SOCKET层(SSL).12) 具有用户会话过程的跟踪能力.13) 支持FASTCGI14) 支持JAVA SERVLETS.……更多信息请参阅Apache网站:/doc/327020310.html,3. Apache的安装Apache的安装无外两种方式:源码包安装和二进制包安装。

这两种方式各有特色,二位制包安装不需编译,针对不同的平台有经过优化编译的不同的二进制文件以及包格式,安装简单方便,源码包则必须先配置编译再安装,可以根据你所用的主机环境进行优化、选择你所用的模块,安装定制更灵活。

下面分别介绍这两种安装方式。

3.1 以源码包方式安装3.1.1 下载最新版本的apache软件访问apahce网站/doc/327020310.html,/download.cgi下载最新版本的Apache源码包。

本文使用的是2.2.6版本,在linux系统下用下面的命令下载:wget /doc/327020310.html,/httpd/httpd-2.2.6.tar.gz3.1.2 解压缩下载的源码包首先建立一个工作目录( 笔者建议的目录为/usr/local/src/apache ) :mkdir -p /usr/local/src/apache 将下载的源码包移至工作目录:mv httpd-2.2.6.tar.gz /usr/local/src/apache进入工作目录并用tar命令解压源码包:cd /usr/local/src/apachetar zxvf httpd-2.2.6.tar.gz命令执行结束后,当前工作目录下将生成一个新的子目录httpd-2.2.6,此目录下即为Apache的源码文件。

apache 中文详解

apache 中文详解

由于Apache对一个目录的访问控制设置是能够被下一级目录继承的,因此对根目录的设置将影响到它的下级目录。注意由于AllowOverride None的设置,使得Apache服务器不需要查看根目录下的访问控制文件,也不需要查看以下各级目录下的访问控制文件,直至httpd.conf(或access.conf )中为某个目录指定了允许Alloworride,即允许查看访问控制文件。由于Apache对目录访问控制是采用的继承方式,如果从根目录就允许查看访问控制文件,那么Apache就必须一级一级的查看访问控制文件,对系统性能会造成影响。而缺省关闭了根目录的这个特性,就使得Apache从httpd.conf中具体指定的目录向下搜寻,减少了搜寻的级数,增加了系统性能。因此对于系统根目录设置AllowOverride None不但对于系统安全有帮助,也有益于系统性能。
<Directory “H:/web001“>
Directory语句就是用来定义目录的访问限制的,这里可以看出它的标准语法,为一个目录定义访问限制。上例的这个设置是针对系统的根目录进行的,设置了允许符号连接的选项FollowSymLinks ,以及使用AllowOverride None表示不允许这个目录下的访问控制文件来改变这里进行的配置,这也意味着不用查看这个目录下的相应访问控制文件。
All 缺省值,使访问控制文件可以覆盖系统配置
None 服务器忽略访问控制文件的设置
ServerName localhost
缺省情况下,并不需要指定这个ServerName参数,服务器将自动通过名字解析过程来获得自己的名字,但如果服务器的名字解析有问题(通常为反向解析不正确),或者没有正式的DNS名字,也可以在这里指定I P地址。当ServerName设置不正确的时候,服务器不能正常启动。

Apache的httpd.conf文件配置详解

Apache的httpd.conf文件配置详解

Apache的httpd.conf文件配置详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。

主站点的配置(基本配置)(1) 基本配置:ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。

其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。

PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。

Listen 80 #服务器监听的端口号。

ServerName :80 #主站点名称(网站的主机名)。

*****************************#管理员的邮件地址。

DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。

以下是对主站点的目录进行访问控制:<Directory "/mnt/web/clusting">Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI: 在该目录下允许执行CGI脚本。

FollowSymLinks: 在该目录下允许文件系统使用符号连接。

Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex 指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。

SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。

其它可用值和含义请参阅:/Apache/ApacheManual/mod/core.html#optionsAllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None: 当AllowOverride被设置为None时。

Apache服务器配置文件

Apache服务器配置文件

• 全局环境配置 • 主服务器配置 • 虚拟主机配置
配置指令的作用域
• 配置指令作用范围可以是全局或只能在容器 • server config、virtual host、directory、 .htaccess
查看指令的 作用域
• Apache 手册中指令的作用域(Context)项 • # httpd -L 或 apachectl -L
配置文件的基本语法
3
每一行包含一个指令,在行尾使用反斜杠”\”可以表示续行
配置文件中的指令不区分大小写,但是指令的参数 (argument) 通 常区分大小写
以 ”#” 开头的行被视为注解并在读取时被忽略。注解不能出现在 指令的后边
空白行和指令前的空白字符将在读取时被忽略,因此可以采用缩进 以保持配置层次的清晰
• # httpd -L 或 apachectl -L
Apache的服务器配置文件标识指令
8
ServerName
• 服务器用于辨识自己的主机名和端口号
ServerAdmin
• 服务器返回给客户端的错误信息中包含的管理员邮件地址
ServerSignature
• 配置服务器生成页面的页脚的信息
ServerTokens
DocumentRoot
组成网络上可见的主文档树的根目录
ErrorLog
存放错误日志的位置
CustomLog
访问日志文件的位置
LockFile
Apache 使用的锁文件的位置
PidFile
设置服务器用于记录父进程(监控进程) PID 的文件
Apache Profork MPM 的相关指令
10
StartServers:启动时服务器启动的进程数

http.conf文件含义

http.conf文件含义

http.conf文件内容含义08计算机3班张宁080201031032http.conf文件是基于 NCSA 服务的配置文件,是Apache服务器主要配置文件。

它包含服务器的影响服务器运行的配置指令。

Apache 服务器可以针对目录进行文档的访问控制,然而访问控制可以通过两种方式来实现,一个是在设置文件httpd.conf(或access.conf)中针对每个目录进行设置,另一个方法是在每个目录下设置访问控制文件,通常访问控制文件名字为.htaccess。

使用这两个方式都能用于控制浏览器的访问。

Apache的配置由httpd.conf文件配置,因此相关的配置指令都是在httpd.conf文件中修改。

其中包含基本配置,服务器的优化,HTTP头部返回信息配置,持久性连接配置以及虚拟主机配置。

http.conf文件包含内容ServerRoot “/usr/local“ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下。

ScoreBoardFile /var/run/httpd.scoreboardhttpd使用ScoreBoardFile来维护进程的内部数据,因此通常不需要改变这个参数,除非管理员想在一台计算机上运行几个Apache 服务器,这时每个Apache 服务器都需要独立的设置文件htt pd.conf,并使用不同的ScoreBoardFile。

#ResourceConfig conf/srm.conf#AccessConfig conf/access.conf这两个参数ResourceConfig和AccessConfig,就用于和使用srm.conf和access.conf设置文件的老版本Apache 兼容。

如果没有兼容的需要,可以将对应的设置文件指定为/dev/null,这将表示不存在其他设置文件,而仅使用httpd.conf 一个文件来保存所有的设置选项。

Apache服务器主配置文件httpd.conf详解

Apache服务器主配置文件httpd.conf详解

Apache服务器主配置⽂件httpd.conf详解apache 2.2# This is the main Apache server configuration file. It contains the# configuration directives that give the server its instructions.# See <URL:/docs/2.2/> for detailed information.# In particular, see# <URL:/docs/2.2/mod/directives.html># for a discussion of each configuration directive.# 这是主Apache服务器配置⽂件。

# 它给服务器指⽰配置指令。

# 可去/docs/2.2/查看详细信息# 特别情况可去/docs/2.2/mod/directives.html# 对每个配置指⽰进⾏讨论# Do NOT simply read the instructions in here without understanding# what they do. They're here only as hints or reminders. If you are unsure# consult the online docs. You have been warned.## The configuration directives are grouped into three basic sections:# 1. Directives that control the operation of the Apache server process as a# whole (the 'global environment').# 2. Directives that define the parameters of the 'main' or 'default' server,# which responds to requests that aren't handled by a virtual host.# These directives also provide default values for the settings# of all virtual hosts.# 3. Settings for virtual hosts, which allow Web requests to be sent to# different IP addresses or hostnames and have them handled by the# same Apache server process.# 要明⽩这些指令是做什么的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Apache的配置文件http.conf参数含义详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。

主站点的配置(基本配置)(1) 基本配置:技术社区ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。

其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。

PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。

Listen 80 #服务器监听的端口号。

ServerName :80 #主站点名称(网站的主机名)。

ServerAdmin admin@ #管理员的邮件地址。

DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。

以下是对主站点的目录进行访问控制:<Directory "/mnt/web/clusting">Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI: 在该目录下允许执行CGI脚本。

FollowSymLinks: 在该目录下允许文件系统使用符号连接。

Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。

SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。

其它可用值和含义请参阅:/Apache/ApacheManual/mod/core.html#optionsAllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None: 当AllowOverride被设置为None时。

不搜索该目录下的.htaccess文件(可以减小服务器开销)。

All: 在.htaccess文件中可以使用所有的指令。

其他的可用值及含义(如:Options FileInfo AuthConfig Limit等),请参看:/Apache/ApacheManual/mod/core.html#AllowOverride Order:控制在访问时Allow和Deny两个访问规则哪个优先:Allow:允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16)。

Deny:拒绝访问的主机列表。

更详细的用法可参看:/Apache/ApacheManual/mod/mod_access.html#orderDirectoryIndex index.html index.htm index.php #主页文件的设置(本例将主页文件设置为:index.html,index.htm和index.php)(2) 服务器的优化(MPM: Multi-Processing Modules)apache2主要的优势就是对多处理器的支持更好,在编译时同过使用--with-mpm选项来决定apache2的工作模式。

如果知道当前的apache2使用什么工作机制,可以通过httpd -l命令列出apache的所有模块,就可以知道其工作方式:prefork:如果httpd -l列出prefork.c,则需要对下面的段进行配置:<IfModule prefork.c>StartServers 5 #启动apache时启动的httpd进程个数。

MinSpareServers 5 #服务器保持的最小空闲进程数。

MaxSpareServers 10 #服务器保持的最大空闲进程数。

MaxClients 150 #最大并发连接数。

MaxRequestsPerChild 1000 #每个子进程被请求服务多少次后被kill掉。

0表示不限制,推荐设置为1000。

</IfModule>在该工作模式下,服务器启动后起动5个httpd进程(加父进程共6个,通过ps -ax|grep httpd 命令可以看到)。

当有用户连接时,apache会使用一个空闲进程为该连接服务,同时父进程会fork一个子进程。

直到内存中的空闲进程达到MaxSpareServers。

该模式是为了兼容一些旧版本的程序。

我缺省编译时的选项。

worker:如果httpd -l列出worker.c,则需要对下面的段进行配置:<IfModule worker.c>StartServers 2 #启动apache时启动的httpd进程个数。

MaxClients 150 #最大并发连接数。

技术社区MinSpareThreads 25 #服务器保持的最小空闲线程数。

MaxSpareThreads 75 #服务器保持的最大空闲线程数。

ThreadsPerChild 25 #每个子进程的产生的线程数。

MaxRequestsPerChild 0 #每个子进程被请求服务多少次后被kill掉。

0表示不限制,推荐设置为1000。

</IfModule>该模式是由线程来监听客户的连接。

当有新客户连接时,由其中的一个空闲线程接受连接。

服务器在启动时启动两个进程,每个进程产生的线程数是固定的(ThreadsPerChild决定),因此启动时有50个线程。

当50个线程不够用时,服务器自动fork一个进程,再产生25个线程。

perchild:如果httpd -l列出perchild.c,则需要对下面的段进行配置:<IfModule perchild.c>NumServers 5 #服务器启动时启动的子进程数StartThreads 5 #每个子进程启动时启动的线程数MinSpareThreads 5 #内存中的最小空闲线程数MaxSpareThreads 10 #最大空闲线程数MaxThreadsPerChild 2000 #每个线程最多被请求多少次后退出。

0不受限制。

MaxRequestsPerChild 10000 #每个子进程服务多少次后被重新fork。

0表示不受限制。

</IfModule>该模式下,子进程的数量是固定的,线程数不受限制。

当客户端连接到服务器时,又空闲的线程提供服务。

如果空闲线程数不够,子进程自动产生线程来为新的连接服务。

该模式用于多站点服务器。

(3) HTTP返头回信息配置:ServerTokens Prod #该参数设置http头部返回的apache版本信息,可用的值和含义如下:Prod:仅软件名称,例如:apacheMajor:包括主版本号,例如:apache/2Minor:包括次版本号,例如:apache/2.0Min:仅apache的完整版本号,例如:apache/2.0.54OS:包括操作系统类型,例如:apache/2.0.54(Unix)Full:包括apache支持的模块及模块版本号,例如:Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7gServerSignature Off #在页面产生错误时是否出现服务器版本信息。

推荐设置为Off(4) 持久性连接设置KeepAlive On #开启持久性连接功能。

即当客户端连接到服务器,下载完数据后仍然保持连接状态。

MaxKeepAliveRequests 100 #一个连接服务的最多请求次数。

KeepAliveTimeout 30 #持续连接多长时间,该连接没有再请求数据,则断开该连接。

缺省为15秒。

别名设置对于不在DocumentRoot指定的目录内的页面,既可以使用符号连接,也可以使用别名。

别名的设置如下:Alias /download/ "/var/www/download/" #访问时可以输入:/download/<Directory "/var/www/download"> #对该目录进行访问控制设置Options Indexes MultiViewsAllowOverride AuthConfigOrder allow,denyAllow from all</Directory>CGI设置scrīptAlias /cgi-bin/ "/mnt/software/apache2/cgi-bin/" # 访问时可以:/cgi-bin/ 。

但是该目录下的CGI脚本文件要加可执行权限!<Directory "/usr/local/apache2/cgi-bin"> #设置目录属性AllowOverride NoneOptions NoneOrder allow,denyAllow from all</Directory>个人主页的设置(public_html)UserDir public_html (间用户的主页存储在用户主目录下的public_html目录下URL /~bearzhang/file.html 将读取/home/bearzhang/public_html/file.html 文件)chmod 755 /home/bearzhang #使其它用户能够读取该文件。

UserDir /var/html (the URL /~bearzhang/file.html 将读取/var/html/bearzhang/file.html)UserDir /var/www/*/docs (the URL /~bearzhang/file.html 将读取/var/www/bearzhang/docs/file.html)日志的设置(1)错误日志的设置ErrorLog logs/error_log #日志的保存位置社区论坛LogLevel warn #日志的级别显示的格式日下:[Mon Oct 10 15:54:29 2005] [error] [client 192.168.10.22] access to /download/ failed, reason: user admin not allowed access(2)访问日志设置日志的缺省格式有如下几种:LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combinedLogFormat "%h %l %u %t "%r" %>s %b" common #common为日志格式名称LogFormat "%{Referer}i -> %U" refererLogFormat "%{User-agent}i" agentCustomLog logs/access_log common格式中的各个参数如下:%h --客户端的ip地址或主机名%l --The 这是由客户端identd 判断的RFC 1413身份,输出中的符号"-" 表示此处信息无效。

相关文档
最新文档