rfwer21 发表于 2015-6-26 08:59:28

httpd配置文件详解(上)

一、使用rpm -ql httpd可以查看rpm包安装的httpd文件及其路径
    1、配置文件:
      /etc/httpd/conf/httpd.conf    #主配置文件
      /etc/httpd/conf.d/welcome.conf    #无首页所指定的链接文件
    2、服务脚本:
      /etc/rc.d/init.d/httpd    #服务起停脚本
      /etc/sysconfig/httpd    #脚本配置文件
    3、模块目录:
      /usr/lib64/httpd/modules:存放了各种以.so结尾的httpd所需的模块
      /etc/httpd/modules:链接文件,链接到上面的模块目录
    4、主程序:httpd支持三种MPM(多路处理模块),也就是并发响应模式,同时且只能有一个MPM工作
      /usr/sbin/httpd:基于prefork,内核会为每一个用户请求分配一个进程,性能较低,但是最稳定可靠,依赖于prefork.c模块
      /usr/sbin/httpd.worker:基于worker,内核为每个用户请求分配一个线程,多个线程由一个进程管理,减轻了多个进程间切换所消耗的cpu时间,依赖于worker.c模块
      /usr/sbin/httpd.event:httpd2.4以上支持,低于2.4版本的只为实验状态,基于event,支持一个线程响应多个用户的请求,依赖于event.c模块
      
    5、日志文件目录:
      /var/log/httpd/access_log:访问日志
      /var/log/httpd/error_log:错误日志
    6、站点文档根目录:
      /var/www/html/:默认
二、httpd配置文件说明
      httpd.conf配置文件由3部分组成,分别为全局环境配置、主服务配置以及虚拟主机配置,其中主服务配置与虚拟主机不能同时使用
      
    1、全局环境配置项
            
      Timeout:接送和发送资源超时时间
      KeepAlive:是否开启保持会话连接功能,开启后可避免同一用户请求资源时重复进行TCP三次握手四次断开
      MaxkeepAliveRequests:同一用户端保持会话最多允许请求的资源链接次数,超过次数会断开重新连接
      KeepAliveTimeout:保持会话连接后允许的最大超时时间,此时间未有资源请求会断开保持的会话         
      
      基于prefork的用户会话处理方式:
      StartServers:默认开启等待用户连接的进程数
      MinSpareServers:最少等待用户连接的空闲进程数
      MaxSpareServers:最多等待用户连接的空闲进程,超过则杀死多余空闲进程
      ServerLimit:限制最大用户请求会话连接数
      MaxClients:最大响应用户会话的进程数,一般与ServerLimit相等
      MaxRequestsPerChild:一个进程生存期间能够处理的会话数,超过则关闭此进程
      
      基于worker.c的用户会话处理方式:
      StarServers:默认开启的等待用户连接的进程数
      MaxClients:能够同时处理的用户请求会话连接
      MinSpareThreads:最小空闲线程数
      MaxSpareThreads:最大空闲线程数
      ThreadsPerChild:每个进程下的线程数
      MaxRequestsPerChild:每个进程生存期间能够处理的最大会话数,0为不限制
      
      监听端口,默认为监听服务器所有网卡的80端口
      Listen IP:PORT的方式可以指定监听固定IP及端口
      Listen可重复指定多次
      
      DSO机制装载的模块
            格式为:LoadModule 模块名 模块路径
      httpd -D DUMP_MODULES命令可查看装载的模块
      
      指定运行httpd的用户和组,默认为apache用户和apache组
      为安全起见,请尽量避免使用系统用户与root用户
    2、主服务配置段
      
      指定服务器主机名,如果没有指定httpd会尝试用主机名解析IP,如解析不到会用主机名代替
      
      指定网站根目录,默认为/var/www/html
      
      站点路径访问控制:
            Directory:基于本地文件系统路径做访问控制
            Location:基于URL访问路径做访问控制
            Options:可以在选项后加“-”关闭此功能
                Indexes:当访问的路径下无默认的主页面,将所有资源以列表的形式呈现给用户,非常危险
                FollowSymLinks:支持符号链接访问资源
            AllowOverride:支持在每个页面目录下创建.htaccess用户实现对此目录中资源访问时的控制功能
            Order,Deny,Allow:基于IP做访问控制
      
      DirectoryIndex:定义默认的主页,优先级由左到右
      
      ErrorLog:错误日志文件路径
      LogLevel:错误日志记录级别,高于此级别的报警才会记录日志
      
      LogFormat:访问日志的记录格式
      CustomLog:访问日志路径及所用格式名
       %h: 客户端地址
       %l: 远程登录名,通常为-
       %u: 认证时输入用户名,没有认证时为-
       %t: 服务器收到 用户请求时的时间
       %r:请求报名的起始行
       %>s: 响应状态码
       %b: 响应报文的长度,单位是字节
       %{HEADER_NAME}i: 记录指定首部对应的值
      
      Alias:路径别名,实现URL路径的映射,从而访问的资源不再依赖于站点根目录
      

      ScriptAlias:CGI脚本路径别名
      
      AddDefaultCharset:默认字符集
               
      对网站基于用户认证做访问控制:
            AllowOverride:
                AuthConfig启用认证
            AuthType:认证类型
                Basic:基本认证,明文传输,常用
                digest:摘要认证,密文传输,某些浏览器不支持
            AuthName:认证显示信息
            AuthBasicProvider:基本认证模式,默认为file格式
            AuthUserFile:认证文件路径
            Require:允许访问的认证用户
                valid-user:允许.htpasswd文件中所有用户访问
                user USERNAME:允许.htpasswd中的某用户访问

页: [1]
查看完整版本: httpd配置文件详解(上)