2013-10-14 20:41:01
来 源
itjs.cn
Apache
这里分享一下UbuntuApache配置文件Apache2.conf讲解,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。

第一区:全局环境参数

这里设置的参数将影响整个Apache服务器的行为;例如Apache能够处理的并发请求的数量等。

ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。

注意!如果你想要将它指定为NFS或其它网络上的位置,请一定要去阅读与LockFile有关的文档(可能在 )。这将会使你自己也能解决很多问题。 ServerRoot "/usr/loacl/apache2"   LockFile logs/accept.lock  

ScoreBoardFile:用来保存内部服务进程信息的文件。如果未指明(默认),记分板(scoreboard)将被保存在一个匿名的共享内

存段中,并且它不能被第三方软件所使用。如果指定了,要确保不能使用两个Apache使用同一个记分板文件,这个记分板文件必须保存在本地磁盘上。 ScoreBoardFile logs/apache_runtime_status

PidFile:记录服务器启动进程号的文件。

PidFile logs/httpd.pid

Timeout:接收和发送前超时秒数

Timeout 300

KeepAlive:是否允许稳固的连接(每个连接有多个请求),设为"Off"则停用。

KeepAlive On

MaxKeepAliveRequests:在稳固连接期间允许的最大请求数,设为0表示无限制接入。我们推荐你将其设为一个较大的值,以便提高性能 MaxKeepAliveRequests 100

KeepAliveTimeout:在同一个连接上从同一台客户上接收请求的秒数

KeepAliveTimeout 15

Server-Pool大小设定(针对MPM的) prefork MPM

StartServers:启动时服务器启动的进程数

MinSpareServers:保有的备用进程的最小数目

MaxSpareServers:保有的备用进程的最大数目

MaxClients:服务器允许启动的最大进程数

MaxRequestsPerChild:一个服务进程允许的最大请求数

StartServers 5 MinSpareServers 5

MaxSpareServers 10 MaxClients 150 MaxRequestPerChild 0

worker MPM

StartServers:服务器启动时的服务进程数目

MaxClients:允许同时连接的最大用户数目

MinSpareThreads:保有的最小工作线程数目

MaxSpareThreads:允许保有的最大工作线程数目

ThreadsPerChild:每个服务进程中的工作线程常数

MaxRequestsPerChild:服务进程中允许的最大请求数目

StartServers 2 MaxClients 150

MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25

MaxRequestsPerChild 0

perchild MPM

NumServers:服务进程数量

StartThreads:每个服务进程中的起始线程数量

MinSpareThreads:保有的最小线程数量

MaxSpareThreads:保有的最大线程数量

MaxThreadsPerChild:每个服务进程允许的最大线程数

MaxRequestsPerChild:每个服务进程允许连接的最大数量

NumServers 5 StartThreads 5

MinSpareThreads 5 MaxSpareThreads 10 MaxThreadsPerChild 20

MaxRequestsPerChild 0

WinNT MPM

ThreadsPerChild:服务进程中工作线程常数

MaxRequestsPerChild:服务进程允许的最大请求数

ThreadsPerChild 250 MaxRequestsPerChild 0

BeOS MPM

StartThreads:服务器启动时启动的线程数

MaxClients:可以启动的最大线程数(一个线程等于一个用户)

MaxRequestsPerThread:每个线程允许的最大请求数

StartThreads 10 MaxClients 50 MaxRequestsPerThread 10000

NetWare MPM

ThreadStachSize:为每个工作线程分配的堆栈尺寸

StartThreads:服务器启动时启动的线程数

MinSpareThreads:用于处理实发请求的空闲线程数

MaxSpareThreads:空闲线程的最大数量

MaxThreads:在同一时间活动的最大线程数

MaxRequestPerChild:一个线程服务请求的最大数量,

推荐将其设置为0,以实现无限制的接入

ThreadStackSize 65536 StartThreads

250 MinSpareThreads 25 MaxSpareThreads 250 MaxThreads 1000

MaxRequestPerChild 0

OS/2 MPM

StartServers:启动的服务进程数量

MinSpareThreads:每个进程允许的最小空闲线程

MaxSpareThreads:每个进程允许的最大空闲线程

MaxRequestsPerChild:每个服务进程允许的最大连接数

StartServers 2 MinSpareThreads 5 MaxSpareThreads 10 MaxRequestsPerChild 0 Listen:允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值 使用如下命令使Apache只在指定的IP地址上监听,

以防止它在IP地址0.0.0.0上监听

Listen 12.34.56.78:80

Listen 80

动态共享支持(DSO)

为了能够使用那些以DSO模式编译的模块中的函数,你必须有相应的“LoadModule”行, 那些静态编译的模块不需要在这里列出 (即以“httpd -l”列出的模块) LoadModule foo_module modules/mod_foo.so ExtendedStatus:当调用“server-status”时,控制Apache是产生“全”状态

信息(ExtendedStatus On),还是产生基本信息(ExtendedStatus Off)。

默认为off

ExtendedStatus On 这一区建立被 “主” 服务器用的指令值,以回应那些不被 这些数值也提供默认值给后面定义的容器。 中的定义所覆盖。 如果你想使httpd以另外的用户或组来运行,你必须在开始时以root方式启动 User/Group:运行httpd的用户和组

在SCO (ODT3)上使用“User nouser”和“Group nogroup”

在HPUX上,你可能不能以nobody身份使用共享内存,建议创建一个www用户。

注意一些核心(kernel)在组ID大于60000时拒绝setgid(Group)或semctl(IPC_SET),

节在这些系统上不要使用“Group -1”。

User nobody Group -1   ServerAdmin:你的邮件地址,当发生问题时Apache将向你发出邮件。

作为一个出错文档,这个地址显示在server-generated页上,

例?a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="b750140dd6d3daded9f7ced8c2c59ad3d8dad6ded999d4d8da">[email protected]

ServerAdmin [email protected] ServerName指定Apache用于识别自身的名字和端口号。 如果你为你的主机指定了一个无效的DNS名,server-generated重定向将不能工作。

参见UseCanonicalName指令

如果你的主机没有注册DNS名,在这里键入它的IP地址

无论如何,你必须使用它的IP地址来提供服务, ServerName www.dalouis.com:80 UseCanonicalName:决定Apache如何构造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。

当设置为 “Off”时,Apache会使用用户端提供的主机名和端口号。

当设置为“On”,Apache会使用ServerName指令的值。

UseCanonicalName Off DocumentRoot:你的文档的根目录。默认情况下,所有的请求从这个目录进行应答。 DocumentRoot "/home/redhat/public_html" Apache可以存取的每个目录都可以配置存取权限(包括它的子目录)。 这将禁止访问文件系统所在的目录,并添加你希望允许访问的目录块。 Order Deny,Allow Deny from all 注意从这里开始你一定要明确地允许哪些特别的特征能够被使用。

- 所以,如果Apache没有象你所期待的那样工作的话,

请检查你是否在下面明确的指定它可用。 这将改变到你设置的DocumentRoot Options:这个指令的值可以是“None”,“All”,或者下列选项的任意组合:

Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

注意,“MultiViews”必须被显式的指定,“Options All”不能为你提供这个特性。 “http://httpd.apache.org/docs-2.0/mod...

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