http配置详解

前言:   

     前面已经详细介绍了http协议和httpd基本概况,接下来详细介绍httpd2.2版本配置文件参数。首先通过rpm -qa | grep "httpd"查看httpd安装后相关文件路径


     配置文件:
         /etc/httpd/conf/httpd.conf
         /etc/httpd/conf.d/*.conf
     服务脚本:
         /etc/rc.d/init.d/httpd
     脚本配置文件:

         /etc/sysconfig/httpd
     模块目录:
         /usr/lib64/httpd/modules
         /etc/httpd/modules: 为/usr/lib64/httpd/modules链接文件
     主程序:
         /usr/sbin/httpd:程序默认为prefork模式。
         /usr/sbin/httpd.event:http2.2版本中event还为测试阶段
         /usr/sbin/httpd.worker:
     日志文件目录:
         /var/log/httpd
                 access_log: 访问日志
                 error_log: 错误日志
     站点文档根目录:
         /var/www/html


    httpd:apache服务程序

          -l:查看httpd主程序加载的核心模块
          -D DUMP_MODULES:查看以装载的模块

          -t:测试配置文件语法 

          -M:相当于-t -D测试并显示DSO模块

          -D:显示所有虚拟主机信息      


      httpd.conf配置信息一共分为3段:grep "Section" httpd.conf 
          Section 1: Global Environment:全局配置信息,主要配置httpd自己工作特性,以及各虚拟主机共享参数
          Section 2: ‘Main‘ server configuration:网站主服务器配置
          Section 3: Virtual Hosts:虚拟主机配置
          注意:主服务器和虚拟主机不能同时使用;默认仅启用了主服务器    


    全局配置:

            Timeout 60:tcp/ip:三次握手超时时长为60秒

        持久连接:
            KeepAlive {On|Off}:开启或关闭持久连接
            MaxKeepAliveRequests 100:最大请求资源个数
            KeepAliveTimeout 15:持久连接15秒后自动断开 

        MPM参数:
            <IfModule prefork.c>:不同主程序配置,默认为prefork程序配置
                  StartServers       8 :启动多少个空闲子进程,提供响应
                  MinSpareServers    5:最少空闲进程
                  MaxSpareServers   20:最大空闲进程
                          ServerLimit      256:最大启动多少个子进程
                  MaxClients       256:服务器最多同时处理多少客户端请求,并发数
                  MaxRequestsPerChild  4000:每个子进程最多处理多少次请求,到达设定值后进程销毁重新启动新进程
            </IfModule>

            <IfModule worker.c>worker主程序配置
                  StartServers       4:启动多少个空闲子进程
                  MaxClients       300:服务器最多同时处理多少客户请求,并发数
                  MinSpareThreads    25:最小空闲线程数
                  MaxSpareThreads   75:最大空闲线程数
                  ThreadsPerChild     25:每个子进程可以启动多少线程                     
                  MaxRequestsPerChild  0:每个线程最大可以处理多少请求。0表示不做限定
            </IfModule>


        指定监听的地址和端口
            Listen [IP:]PORT:Listen可以出现多次,指定监听多个地址和端口

        DSO机制装载的模块
                        LoadModule Module_Name /path/to/Module_File:指定装载的模块


    主服务器配置:

        服务器管理员邮箱地址:

             ServerAdmin root@localhost

         服务器名称:                               

             ServerName www.example.com:80

         指定站点根目录:  

             DocumentRoot "/var/www/html"

         站点路径访问控制有以下2种
             基于本地文件系统路径:
                 <Directory "/var/www/html">:对Directory中访问控制机制
                       Options Indexes FollowSymLinks 
                               Indexes :当访问路径下无主页面,将所有资源以列表形式呈现
                               FollowSymLinks:跟踪符号链接
                       AllowOverride None:支持在每个页面或目录下创建.htaccess用于实现对此资源访问时的访问控制功能。
                       Order allow,deny:先查看allow访问列表,在deny。
                       Allow from all  :允许所有访问,
                       Deny from 192.168.18.1:拒绝指定ip访问 
                            from后面能接受的地址格式:ip或网段
                   </Directory> 


              基于URL访问路径做访问控制
                   <Location "/path/to/URL">根目录后的文件路径
                   </Location>       
                  
          指定默认页面:

              DirectoryIndex

          配置日志功能:
              ErrorLog /path/to/error_log:根据日志级别记录日志信息
              LogLevel {debug|info|notice|warn|error|crit|alert|emerg}:指定日志级别,
          CustomLog "/path/to/access_log" LogFormat_Name:自定义日志文件
              %h: 客户端地址
              %l: 远程登录名,通常为-
              %u: 认证时输入用户名,没有认证时为-
              %t: 服务器收到 用户请求时的时间
              %r:请求报名的起始行
              %>s: 响应状态码
              %b: 响应报文的长度,单位是字节
              %{HEADER_NAME}i: 记录指定首部对应的值

          路径别名:
              Alias /URL/ "/path/to/somewhere/":实现URL路径映射不再依赖于站点根目录; 
                    Alias /icons/ "/var/www/icons/":当输入icons时会替换为/var/www/icons/;


          设置默认字符集:

              AddDefaultCharset


          CGI脚本路径
              ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"指定cgi路径别名


          基于用户访问控制
              用户认证功能:基本认证(basic)、摘要认证(digest)
              虚拟用户:仅用于访问某服务或获取某资源的凭证,用于保存用户信息有几种方式:
                   文本文件:.htpasswd
                   SQL数据库
                   dbm: 数据库引擎,提供API
                   ldap:


    虚拟主机配置:

         虚拟主机不同的访问机制:基于端口、基于IP、基于主机名

         如基于端口做虚拟主机需用listen监听多个端口
         定义虚拟主机
             NameVirtualHost IP:PORT。开启名称虚拟主机,
                 <VirtualHost IP:PORT>定义虚拟主机属性,主服务器上设置都可以在这里单独设置
                            ServerName
                            DocumentRoot
                            ServerAlias
                            ErrorLog
                            CustomLog
                </VirtualHost>

         注意:使用虚拟的前提:取消主服务器,案例如下:

              <VirtualHost 192.168.18.7:80>
                      ServerName www.mageedu.com
                      DocumentRoot "/web/hosta"
              </VirtualHost>

              <VirtualHost 192.168.18.8:8080>
                      ServerName www.mageedu.com
                      DocumentRoot "/web/hostc"
              </VirtualHost>

                        

                     

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。