apche配置参数比较多,这里只写了我平时经常用到的几点:黑色文字是网上找的资料,蓝色是配置参数,红色是我自己的看法,仅供参考。 Worker 由主控制进程生成“StartServers”个子进程,每个子进程中包含固定的ThreadsPerChild线程数,各个线程独立地处理请求。同样,为了不在请求到来时再生成线程,MinSpareThreads和MaxSpareThreads设置了最少和最多的空闲线程数;而MaxClients 设置了同时连入的clients最大总数。如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程。MinSpareThreads和 MaxSpareThreads的最大缺省值分别是75和250。这两个参数对Apache的性能影响并不大,可以按照实际情况相应调节。 ThreadsPerChild是worker MPM中与性能相关最密切的指令。ThreadsPerChild的最大缺省值是64,如果负载较大,64也是不够的。这时要显式使用 ThreadLimit指令,它的最大缺省值是20000。Worker模式下所能同时处理的请求总数是由子进程总数乘以ThreadsPerChild 值决定的,应该大于等于MaxClients。如果负载很大,现有的子进程数不能满足时,控制进程会派生新的子进程。默认最大的子进程总数是16,加大时也需要显式声明ServerLimit(最大值是20000)。 需要注意的是,如果显式声明了ServerLimit,那么它乘以 ThreadsPerChild的值必须大于等于MaxClients,而且MaxClients必须是ThreadsPerChild的整数倍,否则 Apache将会自动调节到一个相应值。 <IfModule worker.c> ServerLimit 25 ThreadLimit 200 StartServers 3 MaxClients 2000 MinSpareThreads 50 MaxSpareThreads 200 ThreadsPerChild 100 MaxRequestsPerChild 0 </IfModule> ----- #ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录 ServerRoot "/usr/loacl/apache2" 如虚机a站点配置的日志在 logs/test.log,那完整路径就是/usr/loacl/apache2/logs/test.log ----- #Timeout:接收和发送前超时秒数 Timeout 150 #KeepAlive:是否允许稳固的连接(每个连接有多个请求), #设为"Off"则停用。 KeepAlive On #KeepAliveTimeout:在同一个连接上从同一台客户上接收请求的秒数 KeepAliveTimeout 5 这3个值我一般都配合使用,如果网站的访问量很高,php占用的系统资源较高,就把KeepAliveTimeout往小调,或者直接把KeepAlive设置成Off试试。 ------ #MaxKeepAliveRequests:在稳固连接期间允许的最大请求数, #设为0表示无限制接入。 MaxKeepAliveRequests 1000 推荐将其设为一个较大的值,以提高性能。 -------- # DocumentRoot:你的文档的根目录。默认情况下,所有的请求从这个目录进行应答。 DocumentRoot "/home/redhat/public_html" DocumentRoot配置在全局参数里面,如果直接用IP来访问服务器,默认的就去读取这里面的文件。一般我把这里配置到一个错误页面,不允许IP来直接访问,正式的站点都通过虚拟主机模块来配置。 ------ # DirectoryIndex:定义请求是一个目录时,Apache向用户提供服务的文件名 DirectoryIndex index.php index.html index.htm 定于默认首页的访问顺序,越前优先级越高,这个参数一般放在虚机主机模块里面定义,毕竟每个网站的默认首页文件可能不一样。 ------- # Typeconfig:定义在哪里查询mime.types文件。 TypeConfig conf/mime.types # DefaultType:定义当不能确定MIME类型时服务器提供的默认MIME类型。 DefaultType text/plain 这个参数我的理解就是配置站点要识别哪些后缀名文件的配置参数,如果不认识,直接用text本文模式来显示。 ------- # LogLevel:控制记录在错误日志文件中的日志信息数量。 # 可能的值包括:debug,info,notice,warn,error,crit,alert,emerg。 LogLevel error 日志文件的记录等级,这个根据站点情况来定,线上站点,一般配置成error来减少对磁盘的写操作。 ----- # 下面的指令为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 这个是定于记录日志的格式,具体每个参数的作用可以自己google下。 ------------- 指定接入日志文件的定位和格式(一般日志格式)。 CustomLog logs/access_log common 全局参数,默认的正确日志记录文件和格式。一般一个服务器上都有多个站点,建议在虚拟主机模块里为每个站点定义一个日志文件。 ----------- # 这里是添加php 4支持的指令 AddType application/x-httpd-php .php LoadModule php5_module modules/libphp5.so 配置apache支持php模块。 -------- 下面是公司的一个虚拟主机配置,要增加一个主机,只要复制一份修改下站点名字,文件路径,日志名称即可。//后为注释 <VirtualHost *> ServerAdmin service@it.net.cn DocumentRoot /www/itnetcn //配置网站文件位置 ServerName it.net.cn //站点域名 ServerAlias site2.it.net.cn //站点别名 ErrorLog /dev/null //错误日志记录位置 CustomLog /dev/null common //正常日志记录位置 DirectoryIndex index.html index.php index.htm //默认首页文件 </VirtualHost> (责任编辑:IT) |