(转)Apache2httpd.conf配置详解(二)
转之--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架构(二)