apache  配置文件详解

1、由于配置文件中的空行和注释很多所以要排除

    主配置文件:httpd.conf;( 注意备份)

     grep -Ev  "#|^$"  httpd.conf ;

    ServerRoot "/application/apache2.2.27"

    #服务的根目录;软件安装位置;

    Listen 80 

    #web服务监听端口,用户访问使用;

    <IfModule !mpm_netware_module>

    <IfModule !mpm_winnt_module>

    #模块的开头

    User daemon

    Group daemon

    #每个进程都有用户,默认用户daemon(编译安装)

    </IfModule>

    </IfModule>

    ServerAdmin you@example.com

    #网站管理员的邮箱(当网站出问题时方便联系)

    DocumentRoot "/application/apache2.2.27/htdocs"

    #默认的站点目录

    <Directory />

    #权限控制;/表示根

    Options FollowSymLinks

    #可以带符号链接

    AllwOverride None

    #禁止相关的一些功能 

    Order deny,allow

    Deny from all

    #不让任何人访问根目录

        </Directory>

       <Directory> "/application/apache2.2.27/htdocs" 

#如果没有首页会展示目录结构

    Options Indexes FollowSymLinks

    # 优化 ,-Indexes 不对外展示目录结构

            AllwOverride None

            Order deny,allow

            Deny from all

        </Directory> 

        报错403 找不到目录

    <IfModule dir_module>

        DirectoryIndex index.html

    #指定访问的首页;如果有多个用空格分开;

    </IfModule>

    <FilesMatch "^\.ht">

        Order allow,deny

        Deny from all

        Satisfy All

    </FilesMatch>

    ErrorLog "logs/error_log"

    #错误日志

    LogLevel warn

    #日志的级别

    <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" common

        <IfModule logio_module>

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

    #日志的类型

        </IfModule>

        CustomLog "logs/access_log" common

    </IfModule>

    <IfModule alias_module>

        ScriptAlias /cgi-bin/ "/application/apache2.2.27/cgi-bin/"

    </IfModule>

    <IfModule cgid_module>

    </IfModule>

    <Directory "/application/apache2.2.27/cgi-bin">

    #cgi的配置 ,已不使用;

        AllowOverride None

        Options None

        Order allow,deny

        Allow from all

    </Directory>

    DefaultType text/plain

    #缺省的类型;

    <IfModule mime_module>

        TypesConfig conf/mime.types

        AddType application/x-compress .Z

        AddType application/x-gzip .gz .tgz

    #压缩控制

    </IfModule>

    <IfModule ssl_module>

    SSLRandomSeed startup builtin

    SSLRandomSeed connect builtin

    </IfModule>

2、扩展配置文件的信息(/conf/extra 路径)一般只了解;apache  配置文件详解_配置文件描述

    重点 :httpd-mpm.conf                 

           httpd-vhosts.conf

           httpd-default.conf  

    1)、 httpd-vhosts.conf    (需注意的地方)

        19 NameVirtualHost *:80 #端口配置

        27 <VirtualHost *:80>

             28     ServerAdmin webmaster@dummy-host.example.com

             29     DocumentRoot "/application/apache2.2.27/docs/dummy-host.example.com"

             30     ServerName dummy-host.example.com

             31     ServerAlias www.dummy-host.example.com

             32     ErrorLog "logs/dummy-host.example.com-error_log"

             33     CustomLog "logs/dummy-host.example.com-access_log" common

             34 </VirtualHost>

            #虚拟主机的配置;

-------------------------------------------------------------------------------------------

    2)、httpd-mpm.conf      锁文件;

         36 <IfModule mpm_prefork_module> #工作模式(常见的work和prefork模式);编译安装时没有指定工作模式,默认是prefork模式;

         37     StartServers          5

         38     MinSpareServers       5

         39     MaxSpareServers      10

         40     MaxClients          150#并发

         41     MaxRequestsPerChild   0

         42 </IfModule>

     <IfModule mpm_worker_module>#工做模式(编译的时候指定工作模式--with-    mpm=worker)

         52     StartServers          2

         53     MaxClients          150

         54     MinSpareThreads      25

         55     MaxSpareThreads      75

         56     ThreadsPerChild      25

         57     MaxRequestsPerChild   0

         58 </IfModule>


-------------------------------------------------------------------------------------------

    3)、httpd-default.conf 包括超时参数

        使用命令:cat -n httpd-default.conf  | grep -v "#"

        10Timeout 300

        11# 连接超时

        16KeepAlive On

        17# 连接保持

        23MaxKeepAliveRequests 100

        24# 最大接受永久连接请求;

        29KeepAliveTimeout 5

        30      #在同一个连接等待下一个请求的时间

        38UseCanonicalName Off

        39# 伪静态相关,开发使用;

            (<Directory "/application/apache2.2.27/cgi-bin">

            AllowOverride None此处控制

        Options None)

        45AccessFileName .htaccess

        46

        55ServerTokens Full

        56#隐藏版本,跳整为Pord;

        65ServerSignature On

        66#控制不显示版本号,off关闭

        75HostnameLookups Off