当前位置首页 > Apache知识

(转)Apache2httpd.conf配置详解(二)

阅读次数:316 次  来源:admin  发布时间:

转之--http://jafy00.blog.51cto.com/2594646/508205

DocumentRoot "/usr/local/apache-2.2.6/htdocs"

#设置WEB文档根目录的默认属性

lt;Directory />

Options FollowSymLink

AllowOverride None

Order deny,allow

Deny from all

lt;/Directory>

#设置DocumentRoot指定目录的属性

lt;Directory "/usr/local/apache-2.2.6/htdocs">

Options FollowSymLink

AllowOverride None

Order allow,deny

Allow from all

lt;/Directory>

#设置默认目录资源列表文件

lt;IfModule dir_module>

DirectoryIndex index.html

lt;/IfModule>

#拒绝对.ht开头文件的访问,以保护.htaccess文件

lt;FilesMatch "^\.ht">

Order allow,deny

Deny from all

Satisfy All

lt;/FilesMatch>

lt;IfModule log_config_module>

#定义访问日志的格式

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" commo

lt;IfModule logio_module>

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

lt;/IfModule>

#指定访问日志及使用的格式

CustomLog logs/access_log combined

lt;/IfModule>

#设定默认CGI脚本目录及别名

ScriptAlias /cgi-bin/ "/usr/local/apache-2.2.6/cgi-bin/"

#在以线程式MPM(worker)运行的Apache中设置用来与CGI守护进程通信的套接字文件名前缀

lt;IfModule cgid_module>

Scriptsock logs/cgisock

lt;/IfModule>

#设定默认CGI脚本目录的属性

lt;Directory "/usr/local/apache-2.2.6/cgi-bin">

AllowOverride None

Options None

Order allow,deny

Allow from all

lt;/Directory>

#设定默认MIME内容类型

DefaultType text/plai

lt;IfModule mime_module>

##指定MIME类型映射文件

TypesConfig conf/mime.type

#增加.Z .tgz的类型映射

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

lt;/IfModule>

#启用内存映射

EnableMMAP o

##使用操作系统内核的sendfile支持来将文件发送到客户端

EnableSendfile o

#指定多路处理模块(MPM)配置文件并将其附加到主配置文件

Include conf/extra/httpd-mpm.conf

#指定多语言错误应答配置文件并将其附加到主配置文件

Include conf/extra/httpd-multilang-errordoc.conf

#指定目录列表配置文件并将其附加到主配置文件

#Include conf/extra/httpd-autoindex.conf

#指定语言配置文件并将其附加到主配置文件

Include conf/extra/httpd-languages.conf

#指定用户主目录配置文件并将其附加到主配置文件

#Include conf/extra/httpd-userdir.conf

#指定用于服务器信息和状态显示的配置文件并将其附加到主配置文件

#Include conf/extra/httpd-info.conf

#指定提供Apache文档访问的配置文件并将其附加到配置文件

#Include conf/extra/httpd-manual.conf

#指定DAV配置文件并将其附加到主配置文件

#Include conf/extra/httpd-dav.conf

#指定与Apache服务自身相关的配置文件并将其附加到主配置文件

Include conf/extra/httpd-default.conf

#指定mod_deflate压缩模块配置文件并将其附加到主配置文件

Include conf/extra/httpd-deflate.conf

#指定mod_expires模块配置文件并将其附加到主配置文件

Include conf/extra/httpd-expires.conf

##指定虚拟主机配置文件并将其附加到主配置文件

#Include conf/extra/httpd-vhosts.conf

#指定SSL配置文件并将其附加到主配置文件

Include conf/extra/httpd-ssl.conf

##SSL默认配置

lt;IfModule ssl_module>

SSLRandomSeed startup builti

SSLRandomSeed connect builti

lt;/IfModule>

#配置多路处理模块(MPM) httpd-mpm.conf

首先说一下原理:

refork模式

这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将

每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。

这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存

超出物理内存的大小。

worker模式

此多路处理模块(MPM)使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM。但是,它也使用了多进

程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。

控制这个MPM的最重要的指令是,控制每个子进程允许建立的线程数的ThreadsPerChild指令,和控制允许建立的总线程数的MaxClients指令

#设置prefork多路处理模块

lt;IfModule mpm_prefork_module>

StartServers 5

MinSpareServers 5

MaxSpareServers 10

ServerLimit    8000

MaxClients 8000

MaxRequestsPerChild 0

lt;/IfModule>

StartServers:设置服务器启动时建立的子进程数量。因为子进程数量动态的取决于负载的轻重,所有一般没有必要调整这个参数。

MinSpareServers:设置空闲子进程的最小数量。所谓空闲子进程是指没有正在处理请求的子进程。如果当前空闲子进程数少于 MinSpareServers ,那么Apache将以最大每秒一个的

速度产生新的子进程。只有在非常繁忙机器上才需要调整这个参数。将此参数设的太大通常是一个坏主意。

MaxSpareServers:设置空闲子进程的最大数量。如果当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。只有在非常繁忙机器上才需要调整这个参数

上一篇:Nginx作为静态资源web服务-跨站访问
下一篇:IIS6.0架构(二)