1. # 基于 NCSA 服务的配置文件。  
  2. #  
  3. #这是Apache服务器主要配置文件。  
  4. #它包含服务器的影响服务器运行的配置指令。  
  5. #参见<URL:http://httpd.ache.org/doc-2.0/>以取得关于这些指令的详细信息  
  6. #  
  7. #不要只是简单的阅读这些指令信息而不去理解它。  
  8. #这里只是做了简单的说明,如果你没有参考在线文件,你就会被警告。  
  9. #  
  10. #这些配置指令被分为下面三个部分:  
  11. #1. 控制整个Apache服务器行为的部分(即全局环境变量)  
  12. #2. 定义主要或者默认服务参数的指令,也为所有虚拟主机提供默认的设置参数  
  13. #3. 虚拟主机的设置参数  
  14. #  
  15. #配置和日志文件名:如果你指定的文件名以“/”开始(win32下以“dirver:/”),  
  16. #服务器将使用绝对路径,如果文件名不是以“/”开始的,那么它将把ServerRoot  
  17. #的值附加在文件名的前面,例如,对“logs/foo.log",如果ServerRoot的值  
  18. #为“/usr/local/apache2”,则该文件应为“/usr/local/apache2/logs/foo.log”  
  19. #  
  20. ##第一区:全局环境参数  
  21. #  
  22. #这里设置的参数将影响整个Apache服务器的行为;  
  23. #例如Apache能够处理的并发请求的数量等。  
  24. #  
  25. #ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。  
  26. #  
  27. #注意!如果你想要将它指定为NFS或其它网络上的位置,  
  28. #请一定要去阅读与LockFile有关的文档(可能在  
  29. #<URL:http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile>)。  
  30. #这将会使你自己也能解决很多问题。  
  31. #  
  32. #路径的结尾不要添加斜线。  
  33. #  
  34. ServerRoot "/usr/loacl/apache2" 
  35.  
  36. #  
  37. #串行访问的锁文件必须保存在本地磁盘上  
  38. #  
  39. <IfModule !mpm_winnt.c>  
  40. <IfModule !mpm_neware.c>  
  41. #LockFile logs/accept.lock  
  42. </IfModule>  
  43. </IfModule>  
  44.  
  45. #ScoreBoardFile:用来保存内部服务进程信息的文件。  
  46. #如果未指明(默认),记分板(scoreboard)将被保存在一个匿名的共享内存段中,  
  47. #并且它不能被第三方软件所使用。  
  48. #如果指定了,要确保不能使用两个Apache使用同一个记分板文件,  
  49. #这个记分板文件必须保存在本地磁盘上。  
  50. #  
  51. <IfModule !mpm_netware.c>  
  52. <IfModule !perchild.c>  
  53. #ScoreBoardFile logs/apache_runtime_status  
  54. <IfModule>  
  55. <IfModule>  
  56.  
  57. #  
  58. #PidFile:记录服务器启动进程号的文件。  
  59. #  
  60. <IfModule !mpm_neware.c>  
  61. PidFile logs/httpd.pid  
  62. </IfModule>  
  63.  
  64. #  
  65. #Timeout:接收和发送前超时秒数  
  66. #  
  67. Timeout 300  
  68.  
  69. #  
  70. #KeepAlive:是否允许稳固的连接(每个连接有多个请求),  
  71. #设为"Off"则停用。  
  72. #  
  73. KeepAlive On 
  74.  
  75. #  
  76. #MaxKeepAliveRequests:在稳固连接期间允许的最大请求数,  
  77. #设为0表示无限制接入。  
  78. #我们推荐你将其设为一个较大的值,以便提高性能  
  79. MaxKeepAliveRequests 100  
  80.  
  81. #  
  82. #KeepAliveTimeout:在同一个连接上从同一台客户上接收请求的秒数  
  83. #  
  84. KeepAliveTimeout 15  
  85.  
  86. ##  
  87. ##Server-Pool大小设定(针对MPM的)  
  88. ##  
  89.  
  90. # prefork MPM  
  91. # StartServers:启动时服务器启动的进程数  
  92. # MinSpareServers:保有的备用进程的最小数目  
  93. # MaxSpareServers:保有的备用进程的最大数目  
  94. # MaxClients:服务器允许启动的最大进程数  
  95. # MaxRequestsPerChild:一个服务进程允许的最大请求数  
  96. <IfModule prefork.c>  
  97. StartServers 5  
  98. MinSpareServers 5  
  99. MaxSpareServers 10  
  100. MaxClients 150  
  101. MaxRequestPerChild 0  
  102. </IfModule>  
  103.  
  104. # worker MPM  
  105. # StartServers:服务器启动时的服务进程数目  
  106. # MaxClients:允许同时连接的最大用户数目  
  107. # MinSpareThreads:保有的最小工作线程数目  
  108. # MaxSpareThreads:允许保有的最大工作线程数目  
  109. # ThreadsPerChild:每个服务进程中的工作线程常数  
  110. # MaxRequestsPerChild:服务进程中允许的最大请求数目  
  111. <IfModule worker.c>  
  112. StartServers 2  
  113. MaxClients 150  
  114. MinSpareThreads 25  
  115. MaxSpareThreads 75  
  116. ThreadsPerChild 25  
  117. MaxRequestsPerChild 0  
  118. </IfModule>  
  119.  
  120. # perchild MPM  
  121. # NumServers:服务进程数量  
  122. # StartThreads:每个服务进程中的起始线程数量  
  123. # MinSpareThreads:保有的最小线程数量  
  124. # MaxSpareThreads:保有的最大线程数量  
  125. # MaxThreadsPerChild:每个服务进程允许的最大线程数  
  126. # MaxRequestsPerChild:每个服务进程允许连接的最大数量  
  127. <IfModule perchild.c>  
  128. NumServers 5  
  129. StartThreads 5  
  130. MinSpareThreads 5  
  131. MaxSpareThreads 10  
  132. MaxThreadsPerChild 20  
  133. MaxRequestsPerChild 0  
  134. </IfModule>  
  135.  
  136. # WinNT MPM  
  137. # ThreadsPerChild:服务进程中工作线程常数  
  138. # MaxRequestsPerChild:服务进程允许的最大请求数  
  139. <IfModule mpm_winnt.c>  
  140. ThreadsPerChild 250  
  141. MaxRequestsPerChild 0  
  142. </IfModule>  
  143.  
  144. # BeOS MPM  
  145. # StartThreads:服务器启动时启动的线程数  
  146. # MaxClients:可以启动的最大线程数(一个线程等于一个用户)  
  147. # MaxRequestsPerThread:每个线程允许的最大请求数  
  148. <IfModule beos.c>  
  149. StartThreads 10  
  150. MaxClients 50  
  151. MaxRequestsPerThread 10000  
  152. </IfModule>  
  153.  
  154. # NetWare MPM  
  155. # ThreadStachSize:为每个工作线程分配的堆栈尺寸  
  156. # StartThreads:服务器启动时启动的线程数  
  157. # MinSpareThreads:用于处理实发请求的空闲线程数  
  158. # MaxSpareThreads:空闲线程的最大数量  
  159. # MaxThreads:在同一时间活动的最大线程数  
  160. # MaxRequestPerChild:一个线程服务请求的最大数量,  
  161. # 推荐将其设置为0,以实现无限制的接入  
  162. <IfModule mpm_netware.c>  
  163. ThreadStackSize 65536  
  164. StartThreads 250  
  165. MinSpareThreads 25  
  166. MaxSpareThreads 250  
  167. MaxThreads 1000  
  168. MaxRequestPerChild 0  
  169. </IfModule>  
  170.  
  171. # OS/2 MPM  
  172. # StartServers:启动的服务进程数量  
  173. # MinSpareThreads:每个进程允许的最小空闲线程  
  174. # MaxSpareThreads:每个进程允许的最大空闲线程  
  175. # MaxRequestsPerChild:每个服务进程允许的最大连接数  
  176. <IfModule mpmt_os2.c>  
  177. StartServers 2  
  178. MinSpareThreads 5  
  179. MaxSpareThreads 10  
  180. MaxRequestsPerChild 0  
  181. </IfModule>  
  182.  
  183. #  
  184. # Listen:允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值  
  185. # 参见<VirtualHost>指令  
  186. # 使用如下命令使Apache只在指定的IP地址上监听,  
  187. # 以防止它在IP地址0.0.0.0上监听  
  188. #  
  189. # Listen 12.34.56.78:80  
  190.  
  191. Listen 80  
  192.  
  193. #  
  194. # 动态共享支持(DSO)  
  195. #  
  196. # 为了能够使用那些以DSO模式编译的模块中的函数,你必须有相应的“LoadModule”行,  
  197. # 因此,在这里包含了这些指令,以便能在使用它之前激活。  
  198. # 那些静态编译的模块不需要在这里列出 (即以“httpd -l”列出的模块)  
  199. #  
  200. # 示例:  
  201. # LoadModule foo_module modules/mod_foo.so  
  202. #  
  203.  
  204. #  
  205. # ExtendedStatus:当调用“server-status”时,控制Apache是产生“全”状态  
  206. # 信息(ExtendedStatus On),还是产生基本信息(ExtendedStatus Off)。  
  207. # 默认为off 
  208. #  
  209. # ExtendedStatus On 
  210.  
  211. ### 第二区:“主”服务配置  
  212. #  
  213. # 这一区建立被 “主” 服务器用的指令值,以回应那些不被 <VirtualHost>  
  214. # 定义处理的任何请求。  
  215. # 这些数值也提供默认值给后面定义的<VirtualHost>容器。  
  216. # 如果<VirtualHost>中有定义,那么这里定义的指令值将被  
  217. # <VirtualHost>中的定义所覆盖。  
  218. #  
  219.  
  220. <IfModule !mpm_winnt.c>  
  221. <IfModule !mpm_neware.c>  
  222. #  
  223. # 如果你想使httpd以另外的用户或组来运行,你必须在开始时以root方式启动  
  224. # 然后再将它切换为你想要使用的用户或组。  
  225. #  
  226. User/Group:运行httpd的用户和组  
  227. # 在SCO (ODT3)上使用“User nouser”和“Group nogroup”  
  228. # 在HPUX上,你可能不能以nobody身份使用共享内存,建议创建一个www用户。  
  229. # 注意一些核心(kernel)在组ID大于60000时拒绝setgid(Group)或semctl(IPC_SET),  
  230. #节在这些系统上不要使用“Group #-1”。  
  231. #  
  232. User nobody  
  233. Group #-1  
  234. </IfModule>  
  235. </IfModule>  
  236.  
  237. #  
  238. # ServerAdmin:你的邮件地址,当发生问题时Apache将向你发出邮件。  
  239. # 作为一个出错文档,这个地址显示在server-generated页上,  
  240. # 例如:admin@your-domain.com  
  241. #  
  242. ServerAdmin kreny@sina.com  
  243.  
  244. #  
  245. # ServerName指定Apache用于识别自身的名字和端口号。  
  246. # 通常这个值是自动指定的,但是我们推荐你显式的指定它以防止启动时出错  
  247. #  
  248. # 如果你为你的主机指定了一个无效的DNS名,server-generated重定向将不能工作。  
  249. # 参见UseCanonicalName指令  
  250. #  
  251. # 如果你的主机没有注册DNS名,在这里键入它的IP地址  
  252. # 无论如何,你必须使用它的IP地址来提供服务,  
  253. # 这里使用一种容易理解的方式重定向服务  
  254. ServerName www.dalouis.com:80  
  255.  
  256. #  
  257. # UseCanonicalName:决定Apache如何构造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。  
  258. # 当设置为 “Off”时,Apache会使用用户端提供的主机名和端口号。  
  259. # 当设置为“On”,Apache会使用ServerName指令的值。  
  260. #  
  261. UseCanonicalName Off 
  262.  
  263. #  
  264. # DocumentRoot:你的文档的根目录。默认情况下,所有的请求从这个目录进行应答。  
  265. # 但是可以使用符号链接和别名来指向到其他的位置。  
  266. #  
  267. DocumentRoot "/home/redhat/public_html" 
  268.  
  269. #  
  270. # Apache可以存取的每个目录都可以配置存取权限(包括它的子目录)。  
  271. #  
  272. # 首先,我们配置一个高限制的特征。  
  273.  
  274. # 这将禁止访问文件系统所在的目录,并添加你希望允许访问的目录块。  
  275. # 如下所示  
  276. <Directory />  
  277. Order Deny,Allow  
  278. Deny from all 
  279. </Directory>  
  280.  
  281. #  
  282. # 注意从这里开始你一定要明确地允许哪些特别的特征能够被使用。  
  283. # - 所以,如果Apache没有象你所期待的那样工作的话,  
  284. # 请检查你是否在下面明确的指定它可用。  
  285. #  
  286.  
  287. #  
  288. # 这将改变到你设置的DocumentRoot  
  289. #  
  290. <Directory "/home/redhat/public_html">  
  291.  
  292. #  
  293. # Options:这个指令的值可以是“None”,“All”,或者下列选项的任意组合:  
  294. # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews  
  295. #  
  296. # 注意,“MultiViews”必须被显式的指定,“Options All”不能为你提供这个特性。  
  297. #  
  298. # 这个指令既复杂又重要,请参见  
  299. #“http://httpd.apache.org/docs-2.0/mod/core.html#optioins”以取得更多的信息。  
  300. #  
  301. Options FollowSymLinks  
  302.  
  303. #  
  304. # AllowOverride控制那些被放置在.htaccess文件中的指令。  
  305. # 它可以是“All”,“None”,或者下列指令的组合:  
  306. # Options FileInfo AuthConfig Limit  
  307. #  
  308. AllowOverride None  
  309.  
  310. #  
  311. # 控制谁可以获得服务。  
  312. #  
  313. Order allow,deny  
  314. Allow from all 
  315.  
  316. </Directory>  
  317.  
  318. #  
  319. # UserDir:指定在得到一个~user请求时将会添加到用户home目录后的目录名。  
  320. #  
  321.  
  322. UserDir public_html  
  323.  
  324. # 为防止在UserDir指令上的漏洞,对root用户设置  
  325. # 象“./”这样的UserDir是非常有用的。  
  326. # 如果你使用Apache 1.3或以上版本,我们强烈建议你  
  327. # 在你的服务器配置文件中包含下面的行  
  328.  
  329. UserDir disabled root  
  330.  
  331. #  
  332. # 下面是一个使用UserDir指令使一个站点的目录具有只读属性的示例:  
  333. #  
  334. # <Directory /home/*/public_html>  
  335. # AllowOverride FileInfo AuthConfig Limit Indexes  
  336. # Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec  
  337. # <Limit GET POST OPTIONS PROPFIND>  
  338. Order allow,deny  
  339. # Allow from all 
  340. # </Limit>  
  341. # <LimitExcept GET POST OPTIONS PROPFIND>  
  342. Order deny,allow  
  343. # Deny from all 
  344. # </LimitExcept>  
  345. # </Directory>  
  346.  
  347. #  
  348. # DirectoryIndex:定义请求是一个目录时,Apache向用户提供服务的文件名  
  349. #  
  350. index.html.var文件(一个类型映象文件)用于提供一个文档处理列表,  
  351. # 出于同样的目的,也可以使用MultiViews选项,但是它会非常慢。  
  352. #  
  353. DirectoryIndex index.php index.html index.html.var  
  354.  
  355. #  
  356. # AccessFileName:在每个目录中查询为目录提供附加配置指令的文件的文件名。  
  357. # 参见AllowOverride指令。  
  358. #  
  359. AccessFileName .htaccess  
  360.  
  361. #  
  362. # 下面的行防止.htaccess和.htpasswd文件被Web客户查看。  
  363. #  
  364. <Files ~ "^\.ht">  
  365. Order allow,deny  
  366. Deny from all 
  367. </Files>  
  368.  
  369. #  
  370. # Typeconfig:定义在哪里查询mime.types文件。  
  371. #  
  372. TypeConfig conf/mime.types  
  373.  
  374. #  
  375. # DefaultType:定义当不能确定MIME类型时服务器提供的默认MIME类型。  
  376. # 如果你的服务主要包含text或HTML文档,“text/plain”是一个好的选择;  
  377. # 如果大多是二进制文档,诸如软件或图像,你应使用  
  378. # “application/octer-stream”来防止浏览器象显示文本那样显示二进制文件。  
  379. #  
  380. DefaultType text/plain  
  381.  
  382. #  
  383. # mod_mime_magic允许服务器从自己定义自己类型的文件中使用不同的线索(hints),  
  384. # 这个MIMEMagicFile指令定义hints定义所在的文件。  
  385. #  
  386. <IfModule mod_mime_magic.c>  
  387. MIMEMagicFile conf/magic  
  388. </IfModule>