Apache服务器全局配置之文件定位配置篇
 
本文摘录自Apache2.2手册
 
文件定位相关指令:
CoreDumpDirectory
DocumentRoot
ErrorLog
LockFile
PidFile
ScoreBoardFile
ServerRoot
 
这些指令控制Apache正常工作所需的各种文件的定位。如果路径名不以斜线“/”开头,那么就认为该文件是相对于ServerRoot的相对路径。
 
CoreDumpDirectory指令
语法:CoreDumpDirectory directory-path
这个指令用来控制Apache使用的内核转储目录,该转储目录默认位于“ServerRoot”下。因为这个目录通常对于运行服务器的用户是不可写的,内核转储一般也不会写入内容。如果你在调试中需要内核转储,那么你可以用这个指令来指定另外一个目录。
 
DocumentRoot指令
语法:DocumentRoot directory-path
这个指令用来设置httpd提供服务的目录。在没有使用类似Alias这样的指令的情况下,服务器会将请求中的URL附加到DocumentRoot后面以构成指向文档的路径。
例如:
DocumentRoot “/usr/local/httpd/htdocs”
那么在访问 http://192.168.120.240/bbs/index.html 时,实际上就是访问/usr/loca/httpd/htdocs/bbs/index.html。
如果directory-path不是绝对路径,则就会被假定为相对于ServerRoot的路径。
例如:
ServerRoot “/usr/local/httpd/”
DocumentRoot “htdocs”
那么在访问 http://192.168.120.240/bbs/index.html 时,实际上还是会被定位到/usr/loca/httpd/htdocs/bbs/index.html。
 
ErrorLog指令
语法:ErrorLog file-path | syslog[:facility]
默认:ErrorLog “logs/error_log”
这个指令用来设置当服务器遇到错误时记录错误日志的文件。如果file-path不是以/开头的绝对路径,那么将会被认为是一个相对于ServerRoot的相对路径。
 
LockFile指令
语法:LockFile filename
这个指令设置当AcceptMutex指令的值是fcntl或flock的时候,Apache使用的锁文件的位置。一般保持默认值。改变默认值的主要原因是logs目录位于一个NFS文件系统上,因为锁文件必须位于本地磁盘上。主服务器进程的PID会自动添加到文件名后面。
注意:不要将该锁文件放在任何人都有写权限的目录中,因为别人可以通过建立一个与服务器企图建立的锁文件同名的文件,来阻止服务器启动。
 
PidFile指令
语法:PidFile filename
默认:PidFile “logs/httpd.pid”
这个指令用来设置服务器记录父进程(监控进程)PID的文件。
如果指定的不是绝对路径,那么将会被认为是一个相对于ServerRoot的相对路径。
 
ScoreBoardFile指令
语法:ScoreBoardFile file-path
这个指令用来设置存储子进程协调数据的文件。Apache使用记分板(scoreboard)在父进程和子进程之间进行通信。一些体系机构要求有一个文件来帮助通信。如果未指定这个文件,Apache会首先尝试在匿名共享内存中建立完整的记分板。如果失败,将继续尝试使用基于文件的共享存储器在磁盘上建立这个文件。若利用这个指令指定这个文件的位置,则Apache将总是在磁盘上建立这个文件。
将ScoreBoardFile放置在RAM DISK中对访问速度有很大帮助。但是要注意放置的位置以及权限。
 
ServerRoot指令
语法:ServerRoot directory-path
这个指令用来设置Apache服务器所在的目录。一般包含conf/、logs/等子目录。其他配置文件的相对路径一般都是基于此目录的。
例如:
ServerRoot “/usr/local/httpd/”