Linux Apache服务器配置.docx
《Linux Apache服务器配置.docx》由会员分享,可在线阅读,更多相关《Linux Apache服务器配置.docx(41页珍藏版)》请在冰豆网上搜索。
LinuxApache服务器配置
Linuxapache配置
#这些配置指令被分为下面三个部分:
#1.控制整个Apache服务器行为的部分(即全局环境变量)
#2.定义主要或者默认服务参数的指令,也为所有虚拟主机提供默认的设置参数
#3.虚拟主机的设置参数
#配置和日志文件名:
如果你指定的文件名以“/”开始(win32下以“dirver:
/”),
#服务器将使用绝对路径,如果文件名不是以“/”开始的,那么它将把ServerRoot
#的值附加在文件名的前面,例如,对“logs/foo.log",如果ServerRoot的值
#为“/usr/local/apache2”,则该文件应为“/usr/local/apache2/logs/foo.log”
#
##第一区:
全局环境参数
#ServerRoot:
指出服务器保存其配置、出错和日志文件等的根目录。
#路径的结尾不要添加斜线。
ServerRoot"/usr/loacl/apache2"
#
#串行访问的锁文件必须保存在本地磁盘上
#LockFilelogs/accept.lock
#ScoreBoardFile:
用来保存内部服务进程信息的文件。
#如果未指明(默认),记分板(scoreboard)将被保存在一个匿名的共享内存段中,
#并且它不能被第三方软件所使用。
#如果指定了,要确保不能使用两个Apache使用同一个记分板文件,
#这个记分板文件必须保存在本地磁盘上。
#ScoreBoardFilelogs/apache_runtime_status
#PidFile:
记录服务器启动进程号的文件。
PidFilelogs/httpd.pid
#Timeout:
接收和发送前超时秒数
Timeout300
#KeepAlive:
是否允许稳固的连接(每个连接有多个请求),
#设为"Off"则停用。
#
KeepAliveOn
#
#MaxKeepAliveRequests:
在稳固连接期间允许建立的连接请求数目上限
#设为0表示无限制接入。
MaxKeepAliveRequests100
#KeepAliveTimeout:
在同一个连接上从同一台客户上接收请求的秒数
#
KeepAliveTimeout15
##
##Server-Pool大小设定(针对MPM的)
##
#preforkMPM
#StartServers:
启动时服务器启动的进程数5
#MinSpareServers:
保有的备用进程的最小数目5
#MaxSpareServers:
保有的备用进程的最大数目10
#MaxClients:
服务器允许启动的最大进程数150
#MaxRequestsPerChild:
一个服务进程允许的最大请求数0
#workerMPM
#StartServers:
服务器启动时的服务进程数目2
#MaxClients:
允许同时连接的最大用户数目150
#MinSpareThreads:
保有的最小工作线程数目25
#MaxSpareThreads:
允许保有的最大工作线程数目75
#ThreadsPerChild:
每个服务进程中的工作线程常数25
#MaxRequestsPerChild:
服务进程中允许的最大请求数目0
#perchildMPM
#NumServers:
服务进程数量5
#StartThreads:
每个服务进程中的起始线程数量5
#MinSpareThreads:
保有的最小线程数量5
#MaxSpareThreads:
保有的最大线程数量10
#MaxThreadsPerChild:
每个服务进程允许的最大线程数20
#MaxRequestsPerChild:
每个服务进程允许连接的最大数量0
#WinNTMPM
#ThreadsPerChild:
服务进程中工作线程常数250
#MaxRequestsPerChild:
服务进程允许的最大请求数0
#BeOSMPM
#StartThreads:
服务器启动时启动的线程数10
#MaxClients:
可以启动的最大线程数(一个线程等于一个用户)50
#MaxRequestsPerThread:
每个线程允许的最大请求数10000
#NetWareMPM
#ThreadStachSize:
为每个工作线程分配的堆栈尺寸65536
#StartThreads:
服务器启动时启动的线程数250
#MinSpareThreads:
用于处理实发请求的空闲线程数25
#MaxSpareThreads:
空闲线程的最大数量250
#MaxThreads:
在同一时间活动的最大线程数1000
#MaxRequestPerChild:
一个线程服务请求的最大数量,0
#推荐将其设置为0,以实现无限制的接入
#OS/2MPM
#StartServers:
启动的服务进程数量2
#MinSpareThreads:
每个进程允许的最小空闲线程5
#MaxSpareThreads:
每个进程允许的最大空闲线程10
#MaxRequestsPerChild:
每个服务进程允许的最大连接数0
#
#Listen:
允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值
#Listen12.34.56.78:
80
Listen80
#
#动态共享支持(DSO)
#为了能够使用那些以DSO模式编译的模块中的函数,必须有相应的“LoadModule”行,
#因此,在这里包含了这些指令,以便能在使用它之前激活。
#那些静态编译的模块不需要在这里列出(即以“httpd-l”列出的模块)
#
#示例:
#LoadModulefoo_modulemodules/mod_foo.so
#
#
#ExtendedStatus:
当调用“server-status”时,控制Apache是产生“全”状态
#信息(ExtendedStatusOn),还是产生基本信息(ExtendedStatusOff)。
#默认为off
#
###第二区:
“主”服务配置
#
#这一区建立被“主”服务器用的指令值,以回应那些不被定义处理的任何请求。
#这些数值也提供默认值给后面定义的容器。
如果中有定义,那么这里定义的指令值将被中的定义所覆盖。
#如果你想使httpd以另外的用户或组来运行,你必须在开始时以root方式启动
#然后再将它切换为你想要使用的用户或组。
#
#User/Group:
运行httpd的用户和组
#在SCO(ODT3)上使用“Usernouser”和“Groupnogroup”
#在HPUX上,你可能不能以nobody身份使用共享内存,建议创建一个www用户。
#注意一些核心(kernel)在组ID大于60000时拒绝setgid(Group)或semctl(IPC_SET),
#在这些系统上不要使用“Group#-1”。
#
Usernobody
Group#-1
#
#ServerAdmin:
你的邮件地址,当发生问题时Apache将向你发出邮件。
#作为一个出错文档,这个地址显示在server-generated页上,
#例如:
admin@your-
#
ServerAdminkreny@
#
#ServerName指定Apache用于识别自身的名字和端口号。
#
#如果你为你的主机指定了一个无效的DNS名,server-generated重定向将不能工作。
#参见UseCanonicalName指令
#
#如果你的主机没有注册DNS名,在这里键入它的IP地址
ServerName:
80
#
#UseCanonicalName:
决定Apache如何构造URLS和SERVER_NAME和SERVER_PORT的指令。
#当设置为“Off”时,Apache会使用用户端提供的主机名和端口号。
#当设置为“On”,Apache会使用ServerName指令的值。
#
UseCanonicalNameOff
#
#DocumentRoot:
你的文档的根目录。
默认情况下,所有的请求从这个目录进行应答。
#但是可以使用符号链接和别名来指向到其他的位置。
#
DocumentRoot"/home/redhat/public_html"
#
#Apache可以存取的每个目录都可以配置存取权限(包括它的子目录)。
#
#首先,我们配置一个高限制的特征。
#这将禁止访问文件系统所在的目录,并添加你希望允许访问的目录块。
#如下所示
OrderDeny,Allow
Denyfromall
#
#注意从这里开始你一定要明确地允许哪些特别的特征能够被使用。
#所以,如果Apache没有象你所期待的那样工作的话,请检查你是否在下面明确的指定它可用。
#
#这将改变到你设置的DocumentRoot
#
#Options:
这个指令的值可以是“None”,“All”,或者下列选项的任意组合:
#IndexesIncludesFollowSymLinksSymLinksifOwnerMatchExecCGIMultiViews
#
#注意,“MultiViews”必须被显式的指定,“OptionsAll”不能为你提供这个特性。
#
#这个指令既复杂又重要,请参见
#“
http:
//httpd.apache.org/docs-2.0/mod/core.html#optioins”以取得更多的信息。
#
OptionsFollowSymLinks
#
#AllowOverride控制那些被放置在.htaccess文件中的指令。
#它可以是“All”,“None”,或者下列指令的组合:
#OptionsFileInfoAuthConfigLimit
#
AllowOverrideNone
#
#控制谁可以获得服务。
#
Orderallow,deny
Allowfromall
#UserDir:
指定在得到一个~user请求时将会添加到用户home目录后的目录名。
#
UserDirpublic_html
#为防止在UserDir指令上的漏洞,对root用户设置象“./”这样的UserDir是非常有用的。
如果你使用Apache1.3或以上版本,我们强烈建议你在你的服务器配置文件中包含下面的行UserDirdisabledroot
#
#下面是一个使用UserDir指令使一个站点的目录具有只读属性的示例:
#
#AllowOverrideFileInfoAuthConfigLimitIndexes
#OptionsMultiViewsIndexesSymLinksIfOwnerMatchIncludeNoExec
#
#Orderallow,deny
#Allowfromall
#
#Orderdeny,allow
#Denyfromall
#
#DirectoryIndex:
定义请求是一个目录时,Apache向用户提供服务的文件名
#
#index.html.var文件(一个类型映象文件)用于提供一个文档处理列表,
#出于同样的目的,也可以使用MultiViews选项,但是它会非常慢。
#
DirectoryIndexindex.phpindex.htmlindex.html.var
#
#AccessFileName:
在每个目录中查询为目录提供附加配置指令的文件的文件名。
#参见AllowOverride指令。
#
AccessFileName.htaccess
#
#下面的行防止.htaccess和.htpasswd文件被Web客户查看。
Orderallow,deny
Denyfromall
#
#Typeconfig:
定义在哪里查询mime.types文件。
#
TypeConfigconf/mime.types
#
#DefaultType:
定义当不能确定MIME类型时服务器提供的默认MIME类型。
#如果你的服务主要包含text或HTML文档,“text/plain”是一个好的选择;
#如果大多是二进制文档,诸如软件或图像,你应使用
#“application/octer-stream”来防止浏览器象显示文本那样显示二进制文件。
#
DefaultTypetext/plain
#
#mod_mime_magic允许服务器从自己定义自己类型的文件中使用不同的线索(hints),
#这个MIMEMagicFile指令定义hints定义所在的文件。
#
MIMEMagicFileconf/magic
#HostnameLookups:
指定记录用户端的名字还是IP地址,例如,本指令为on时
#记录主机名,如www.apache.org;为off时记录IP地址,204.62.129.132。
#默认值为off,这要比设为on好得多,因为如果设为on则每个用户端请求都将会
#至少造成对nameserver进行一次查询。
#
HostnameLookupsOff
#
#EnableMMAP:
控制是否进行内存转储(如果操作系统支持的话)。
#默认为on,如果你的服务器安装在网络文件系统上(NFS),请关闭它。
#在一些系统上,关闭它会提升系统性能(与文件系统类型无关);
#具体情况请参阅
http:
//httpd.apache.org/docs-2.0/mod/core.html#enablemmap
#
#EnableMMAPoff
#
#EnableSendfile:
控制是否使用sendfilekernel支持发送文件
#(如果操作系统支持的话)。
默认为on,如果你的服务器安装在网络文件系统
#(NFS)上,请你关闭它。
#参见
http:
//httpd.apache.org/docs-2.0/mod/core.html#enablesendfile
#
#EnableSendfileoff
#
#ErrorLog:
错误日志文件定位。
#如果你没有在内定义ErrorLog指令,这个虚拟主机的错误信息
#将记录在这里。
如果你在那儿定义了ErrorLog,这些错误信息将记录在你所
#定义的文件里,而不是这儿定义的文件。
#
ErrorLoglogs/error_log
#
#LogLevel:
控制记录在错误日志文件中的日志信息数量。
#可能的值包括:
debug,info,notice,warn,error,crit,alert,emerg。
#
LogLevelwarn
#
#下面的指令为CustomLog指令定义格式别名。
#
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
#你需要安装了mod_logio.c模块才能使用%I和%O。
#LogFormat"%h%l%u%t"%r"%>s%b"%{Referer}i""%{User-Agent}i"%I%O"combinedio
#
#指定接入日志文件的定位和格式(一般日志格式)。
#如果你没有在内定义这个指令,传输信息将记录在这里,
#如果你定义了这个指令,则记录在你指定的位置,而不是这儿定义的位置。
#
CustomLoglogs/access_logcommon
#
#如果你想要记录agent和referer信息,可以使用下面的指令
#
#CustomLoglogs/referer_logreferer
#CustomLoglogs/agent_logagent
#
#如果你想要使用一个文件记录access,agent和referer信息,
#你可以如下定义这个指令:
#
#CustomLoglogs/access_logcombined
#
#ServerTokens
#这个指令定义包含在HTTP回应头中的信息类型。
默认为“Full”,
#这表示在回应头中将包含模块中的操作系统类型和编译信息。
#可以设为列各值中的一个:
#Full|OS|Minor|Minimal|Major|Prod
#Full传达的信息最多,而Prod最少。
#
ServerTokensFull
#
#随意的添加包含服务器版本和虚拟主机名字一行信息到server-generated输出页中
#(内部错误文档,FTP目录列表,mod_status和mod_info输出等等,除了CGI错误
#或自定义的错误文档以外)。
#设为“EMail”将包含一个指向ServerAdmin的mailto:
连接。
#可以为如下值:
On|Off|EMail
#
ServerSignatureOn
#
#Aliases:
在这时添加你需要的别名,格式如下:
#Alias别名真实名
#
#注意,如果你在别名的末尾包含了“/”,那么在URL中也需要包含“/”。
#因此,“/icons”不是这个示例中的别名。
#如果别名中以“/”结尾,那么真实名也必须以“/”结尾,#如果别名中省略了结尾的“/”,那么真实名也必须省略。
#我们使用别名“/icons/”来表示FancyIndexed目录列表,如果你不使用、
#FancyIndexing,你可以注释掉它。
#
#Alias/icons/"/usr/local/apache2/icons/"
#
#OptionsIndexesMultiViews
#AllowOverrideNone
#Orderallow,deny
##Allowfromall
#
#
#这将改变ServerRoot/manual。
这个别名提供了手册页所在的位置,
#即使你改变了你的DocumentRoot。
如果你对有无手册页并不在意的话,
#你可以注释掉它。
#
Alias/manual"/usr/loacl/apache2/manual"
OptionsIndexesFollowSymLinksMultiViewsIncludesNoExec
AddOutputFilterIncludeshtml
Orderallow,deny
Allowfromall
#
#ScriptAlias:
指定包含服务脚本的目录。
#ScriptAliases本质上与Aliases一样,除了这里的文档在请求时作为程序处理以外。
#尾部的“/”规则与Alias一样
#
ScriptAlias/cgi-bin/"/usr/loacl/apache2/cgi-bin/"
#这里是添加php4支持的指令
AddTypeapplication/x-httpd-php.php
LoadModulephp4_modulemodules/libphp4.so
#
#添加mod_cgid.c设置,mod_cgid提供使用cgid进行通讯的UNIX套接字的
#脚本接口路径。
#
#Scriptsocklogs/cgisock
#
#将"/usr/local/apache2/cgi-bin"改为你的ScriptAliased指定的CGI目录,
#如果你配置了的话。
#
AllowOverrideNone
OptionsNone
Orderallow,deny
Allowfromall
#
#Redirect允许你告诉客户端使用存在于服务器名字空间中的文档,
#而不是现在的,这帮助客户定位那些改变了位置的文档。
#例如:
#Redirectpermanent/foo
#
#控制server-generated目录列表显示的指令
#
#
#IndexOptions:
控制server-generated目录列表显示特征。
#
IndexOptionsFancyIndexingVersionSort
#
#AddIcon*指令告诉服务器不同扩展名的图象文件如何显示,
#只适用于FancyIndexed指令
#
AddIconByEncoding(CMP,/icons/compressed.gif)x-compressx-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/*
AddIcon/icons/binary.gif.bin.exe
AddIcon/icons/binhex.gif.hqx
AddIcon/icons/tar.gif.tar
AddIcon/icons/world2.gif.wrl.wrl.gz.vrml.vrm.iv
AddIcon/icons/compressed.gif.Z.z.tgz.gz.zip
AddIcon/icons/a.gif.ps.ai.eps
AddIcon/icons/layout.gif.html.