httpd-2.2配置文件常用参数详解


ServerRoot "/etc/httpd"

配置httpd进程的根目录(运行目录)

PidFile run/httpd.pid

定义httpd的pid文件

Timeout 60

定义客户程序和服务器连接的超时间隔,超过这个时间间隔(秒)后服务器将断开与客户机的连接。

KeepAlive Off


定义是否启用保持连接,默认关闭状态。由于http是无状态协议,一次请求(建立一次TCP连接)只能获取一个资源,当页面中包含多个资源的时候,就需要多次请求(建立多次TCP连接),这样导致服务器性能下降。为此定义了KeepAlive机制,可以定义在一定时间内或请求数在一定数量之内只需要建立一次TCP连接。


MaxKeepAliveRequests 100

一次保持连接的最大请求数

KeepAliveTimeout 15

一次保持连接的最长时间(秒)

<IfModule prefork.c>     #当httpd服务使用的profork模型的时候:

StartServers      10    #默认启动10个作业进程

MinSpareServers    10    #空闲进程数不低于10个

MaxSpareServers    20    #空闲进程数最大20个

ServerLimit      256    #最多可以启动256个进程

MaxClients       256    #最大并发客户端数为256个

MaxRequestsPerChild 4000 #每个进程可以处理4000个请求,超过此数目进程被杀死并重新创建

</IfModule>

需要注意的是:ServerLimit最大值为20000个,并且:由于profork是单一线程的进程,所以每个进程在同一时间里仅能处理一个请求(也就是一个请求一个进程),所以MaxClients的值要和ServerLimit一致。而且,profork的开销比较大,不过稳定性比较强。


<IfModule worker.c>       #当httpd服务使用的是worker模型的时候

StartServers       6    #默认启动6个作业进程

MaxClients       300    #最大并发客户端数为256个

MinSpareThreads    25    #空闲线程的数量不低于25个

MaxSpareThreads    75    #空闲线程数最大75个

ThreadsPerChild    25    #每个进程默认启动25个线程

MaxRequestsPerChild  0   #每个进程可以处理的请求数不限制

</IfModule>

worker是一种基于线程的模型,一个进程内部可以启动N个线程(最大20000个),每个线程处理一个客户请求。理论上线程的开销要小于进程,但是由于Linux本身对多线程特性的支持并不是太好,所以可能会导致多线程程序运行出问题的几率比单线程程序要大的多,而且一旦一个线程出现问题,可能会导致整个进程出现问题。这个模型用的比较少。


event模型:

event模型是一个基于线程的、更高级的事件驱动模型,可以实现一个线程处理N个请求。不过由于2.2上面是测试,2.4的配置讲解的时候我们再说。


Listen 80

监听本机所有可用IP的80端口,也可以监听特定IP:Listen 192.168.10.1:80

LoadModule [Module_Name] mod_NAME.so

动态加载模块功能。httpd是一个模块化的程序,其仅包含了一些核心功能模块,其余的模块一律都是通过动态加载来完成,这样可以保证httpd的功能尽可能不复杂,实现用户需要使用哪种功能再调用。
Include conf.d/*.conf 读取/etc/httpd/conf目录中所有以.conf结尾的文件,这里为相对路径,相对于httpd程序的根目录(/etc/httpd)

SetOutputFilter DEFLATE    #启动压缩过滤器DEFLATE

<IfModule mod_deflate.c>    #启动了deflate压缩模块的时候:

AddOutputFilterByType DEFLATE text/plain  #压缩text/plain类型的文件

AddOutputFilterByType DEFLATE text/html  #压缩text/html类型的文件

AddOutputFilterByType DEFLATE text/xml   #压缩text/xml类型的文件

AddOutputFilterByType DEFLATE text/javascript  #压缩text/javascript类型的文件

AddOutputFilterByType DEFLATE text/css  #压缩text/css类型的文件

AddOutputFilterByType DEFLATE application/xhtml+xml  #压缩这个格式的

...

#DeflateCompressionLevel 9  #指定压缩级别为9,这里注释起来了使用默认压缩级别6

# Netscape 4.x has some problems.

BrowserMatch ^Mozilla/4 gzip-only-text/html #对火狐4.x的只使用gzip压缩text/html

# Netscape 4.06-4.08 have some more problems

BrowserMatch ^Mozilla/4\.0[678] no-gzip #对火狐4.06-4.08不使用gzip压缩

# MSIE masquerades as Netscape, but it is fine

BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html 对IE使用gizp

</IfModule>

压缩建议仅压缩文本文件,支持的格式可以查看/etc/httpd/magic文件。

User apache   #作业进程运行者为apache用户

Group apache  #作业进程运行组为apache组


UseCanonicalName {On|Off}

当启用这个的时候,用户输入主机名后,他会重定向到ServerName的值

ServerName  www.xxx.com

域名

DocumentRoot "/var/www/html"

网页文档的根目录

<Directory [~]"/var/www/html">  #定义/var/www/html目录的属性,如果启用~号,支持正则表达式,这里的[]代表是可选的参数

Opitons None #定义选项参数,这里为空;选项有多个,下面会介绍

Allowoverride None #认证类型,None表示为默认的下面的Order的IP认证

Order allow,deny  #特定的允许,默认为拒绝

#Allow from all  #允许所有,这里注释掉了

Allow from 172.16.100.0/24; #允许172.16.100.0/24这个网络访问,默认的拒绝

</Directory>


Options可以支持的参数:

ExecCGI:允许使用mod_cgi模块执行cgi脚本

FollowSymblink:允许追踪软接文件

SymLinksIfOwnerMatch:在链接文件属主属组与原始文件的属主属组相同时,允许跟随符号链接所指向的文件

Include:允许使用mod_inclue模块实现服务器端包含(SSI)

Index:如果没有首页文件,则启动索引

MultiViews:启动多视图功能

ALL:启用所有参数


<IfModule mod_userdir.c>  #如果启用了用户目录模块(用户个人站):

UserDir disabled    #禁止用户创建个人站

#UserDir public_html  #网页文件目录为public_html

</IfModule>

DirectoryIndex index.html index.php 设定默认首页文件为index.html或者index.php,如果有index.html就显示这个文件,否则显示index.php

<Files ~ "^\.ht">

Order allow,deny

Deny from all

Satisfy All

</Files>

以 .ht开头的文件权限。 ~支持正则表达式
TypesConfig /etc/mime.types mime类型数据文件的位置在/etc/imie.types
DefaultType text/plain 默认的MIME类型,当MIME不能确定时,使用text/plain

<IfModule mod_mime_magic.c>  #如果启动了mime模块

#  MIMEMagicFile /usr/share/magic.mime

MIMEMagicFile conf/magic  #决定MIME类型的文件/etc/httpd/conf/magic

</IfModule>

ErrorLog logs/error_log 错误日志的位置为/etc/httpd/logs/error_log,注意:/etc/httpd/logs这个目录是/var/log/httpd/的软连接
LogLevel warn 记录错误日志的级别为warn

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

定义combined块的日志格式:

%h:为客户端主机IP ,host

%l:小写的L,不是1。定义远端的主机名,一般都为-

%u:认证的用户名,如果没有开启认证,则为- ,username

%t:接收到此请求的时间,time

\"%r\":记录请求报文的起始行,request

%>s:响应的状态码,status

%b:响应报文的大小(不包含首部),bytes

\"{Referer}i\":用户从哪个网页跳转过来的

\"%{User-Agent}i\":用户的代理软件(就是浏览器软件)

CustomLog logs/access_log combined 自定义日志并使用combined块,这里是访问日志
ServerSignature Off 隐藏Apache的敏感信息,如果为on则是不隐藏,建议设置为off
ServerTokens Prod 显示最少的OS信息,建议这样设置

Alias /web "/www/"   #定义当用户访问http://host.com/web这个URL时指向/www目录

<Directory "/www/">  #定义/www目录的属性,不再多解释

Options None

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 定义CGI别名,允许执行CGI脚本的目录别名
AddDefaultCharset UTF-8 默认的字符集
NameVirtualHost *:80 虚拟主机监听的端口,在httpd-2.2需要使用虚拟主机必须开启此选项,而httpd-2.4则已经取消此选项
<VirtualHost *:80>
    ServerName www.a.com
    DocumentRoot /www/docs/a.com
    <Directory "/www/docs/a.com">
        Options None
        Allowoverride AuthConfig
        AuthType basic
        AuthName "Authentication"
        AuthBasicProvider file
        AuthUserFile /etc/httpd/conf/.htpasswd
        Require valid-user
    </Directory>
    ErrorLog logs/a.com-error_log
    CustomLog logs/a.com-access_log common
</VirtualHost>
定义虚拟主机
<Location /server-status>  #定义一个URI,而不需要目录

SetHandler server-status  #启动server-status功能,SetHandler是用来定义表示的功能

Order deny,allow

Allow from all

</Location>

时间: 2024-10-05 04:41:09

httpd-2.2配置文件常用参数详解的相关文章

Samba配置文件常用参数详解

Samba配置文件常用参数详解 Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下. smb.conf含有多个段,每个段由段名开始,直到下个段名.每个段名放在方括号中间.每段的参数的格式是:名称=指.配置文件中一行一个段名和参数,段名和参数名不分大小写. 除了[global]段外,所有的段都可以看作是一个共享资源.段名是该共享资源的名字,段里的参数是该共享资源的属性. Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确.使用testparm

Nginx核心配置文件常用参数详解

Nginx核心配置文件常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于Nginx权威文档的话童鞋们可以参考Nginx官方文档介绍:http://nginx.org/en/docs/http/ngx_http_core_module.html.本篇博客只列出来了常用的参数介绍,用这些参数说明来定制化我们自己的nginx的web服务器等等. 一.正常运行的必备配置 1>.user username [groupname]; #以那个用户身份运行,以在configu

Samba配置文件常用参数详解-OK

Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下. smb.conf含有多个段,每个段由段名开始,直到下个段名.每个段名放在方括号中间.每段的参数的格式是:名称=指.配置文件中一行一个段名和参数,段名和参数名不分大小写. 除了[global]段外,所有的段都可以看作是一个共享资源.段名是该共享资源的名字,段里的参数是该共享资源的属性. Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确.使用testparm –v命令可以详细的列出smb.

Linux Samba配置文件常用参数详解

目录 1.全局参数 2.共享参数 Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下. smb.conf含有多个段,每个段由段名开始,直到下个段名.每个段名放在方括号中间. 每段的参数的格式是:名称=指.配置文件中一行一个段名和参数,段名和参数名不分大小写. 除了[global]段外,所有的段都可以看作是一个共享资源.段名是该共享资源的名字,段里的参数是该共享资源的属性. Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确.使用命令: #

cat常用参数详解

cat常用参数详解 作者:尹正杰 最近,我的一个朋友对linux特别感兴趣,于是我觉得每天交给他一个命令的使用,这样一个月下来也会使用30个命令,基本的操作他应该是没啥问题啦,接下来让我们看看 今天的命令吧. 还记得我们昨天学的命令吗?让我们一起看看我的目录下有是吗文件或者目录吧: 通过昨天学的命令,我们看出来了log.txt是我最近修改的一个文件,那么如何去看这个文件的内容呢?让我们一起学习cat吧 一.Cat的基本用法就是cat + [参数(这个参数是可以省略的)] + 文件名称. 例如:

find常用参数详解

find常用参数详解 作者:尹正杰 在linux系统中,在init 3模式情况下都是命令行模式,这个时候我们想要找到一个文件的就得依赖一个非常好用的命令find,也是我们要学些的命令哟 再Linux操作系统的世界里,有各个不同的发行版本,redhat,centos,ubantu,suse,debian,fedora等等,我们需要在这些不通的操作系统中找一个文件,那么 我们开始今天的命令吧! 在学find命令之前,我们一起了解一下模糊匹配的命令locate,locate指令和find找寻档案的功能

NFS和mount常用参数详解 本文目录

NFS和mount常用参数详解 本文目录 NFS权限参数配置 mount挂载参数 原始驱动程序的挂载选项. 新驱动程序的挂载选项. 怎样改变已经挂载的NTFS卷的权限? 怎样自动挂载一个NTFS卷? NFS权限参数配置 ro 只读访问 rw 读写访问 sync 所有数据在请求时写入共享 async NFS在写入数据前可以相应请求 secure NFS通过1024以下的安全TCP/IP端口发送 insecure NFS通过1024以上的端口发送 wdelay 如果多个用户要写入NFS目录,则归组写

linux命令之ls命令及常用参数详解

1.  ls命令解释 ls英文全称为list,列表列出的意思.作用是列出目录中的内容 2.  命令格式 Ls [参数] [目录] 3.  命令常用参数 不带参数:默认列出目录下的所有文件名 -l:       列出目录下子目录和文件的详细信息(注,ll相当于ls –l) -a:       列出目录下所有东西,包括隐藏的 -t         按最后修改时间排序 -S         按文件大小排序.(大写的S) -r         排序时按倒序. 4.  命令实例 实例一:默认不带参数 其中

ssh-keygen常用参数详解

ssh-keygen是SSH服务下的一个生成.管理和转换认证密钥的命令工具.包括两种密钥类型DSA和RSA通过公私钥的验证可以使服务器与服务器之间实现无密码通讯.ssh-keygen常用参数-t:指定生成密钥的类型,默认使用SSH2d的rsa-f:指定生成密钥的文件名,默认id_rsa(私钥id_rsa,公钥id_rsa.pub)-P:提供旧密码,空表示不需要密码(-P '')-N:提供新密码,空表示不需要密码(-N '')-b:指定密钥长度(bits),RSA最小要求768位,默认是2048位