码迷,mamicode.com
首页 > Web开发 > 详细

httpd配置文件详解(上)

时间:2015-06-24 16:44:43      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:httpd.conf   apache   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中的某用户访问


本文出自 “晓洋” 博客,请务必保留此出处http://princepar.blog.51cto.com/1448665/1665008

httpd配置文件详解(上)

标签:httpd.conf   apache   httpd配置文件   

原文地址:http://princepar.blog.51cto.com/1448665/1665008

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!