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

httpd 配置

时间:2016-05-04 06:41:17      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:httpd的配置


CentOS 6:httpd-2.2
            程序环境:
                配置文件:
                    /etc/httpd/conf/httpd.conf
                    /etc/httpd/conf.d/*.conf
                服务脚本:
                    /etc/rc.d/init.d/httpd
                    脚本配置文件:/etc/sysconfig/httpd
                主程序文件:
                    /usr/sbin/httpd
                    /usr/sbin/httpd.event
                    /usr/sbin/httpd.worker
                日志文件:
                    /var/log/httpd:
                        access_log:访问日志
                        error_log:错误日志
                站点文档:
                    /var/www/html(页面文件)
                模块文件路径:
                    /usr/lib64/httpd/modules
                    
                服务控制和启动:
                    chkconfig  httpd  on|off
                    service  {start|stop|restart|status|configtest|reload}  httpd


常用配置:
            1、修改监听的IP和PORT

        # vim /etc/httpd/conf/httpd.conf

技术分享                           (1) 省略IP表示为0.0.0.0;
                    (2) Listen指令可重复出现多次;
                        Listen  80
                        Listen  8080
                    (3) 修改监听socket,重启服务进程方可生效;
               注意:改配置文件需要重启服务  service httpd restart           

                netstat -tnlp(查看当前启动的服务所用的端口)   

2、持久连续
      tcp连续建立后,每个资源获取完成后不全断开连接,而是继续等待其它资源请求的进行;
     副作用:对并发访问量较大的服务器,长连接机制会使得后续某些请求无法得到正常 响应;
      折衷:使用较短的持久连接时长,以及较少的请求数量;                       
                    KeepAlive  On|Off(是否开启持久连续)
                    KeepAliveTimeout  15(时间限制)
                    MaxKeepAliveRequests  100(数量限制

   # vim /etc/httpd/conf/httpd.conf

技术分享

      重启服务  service httpd restart 


3、MPM              
                httpd-2.2不支持同时编译多个MPM模块,所以只能编译选定要使用的那个;

                CentOS 6的rpm包为此专门提供了三个应用程序文件:

                httpd(prefork),       httpd.worker,        httpd.event

             查看现在使用的是哪个程序文件的方法启动了多少进程:
                   #    ps  aux  | grep httpd

                第一行为主控进程(管理进程的创建和销毁)

             默认使用的为/usr/sbin/httpd,其为prefork的MPM模块 ;
                    查看httpd程序的模块列表:
                        查看静态编译的模块:
                            # httpd  -l
                        查看静态编译及动态编译的模块:
                            # httpd  -M

              更换使用httpd程序,以支持其它MPM机制;
                  #   vim /etc/sysconfig/httpd
                        HTTPD=/usr/sbin/httpd.{worker,event}
                        
                注意:重启服务进程方可生效

                         # service httpd restart 

MPM配置:  
                # vim /etc/httpd/conf/httpd.conf
                    prefork的配置        
                        <IfModule prefork.c>(如果prefork存在)
                        StartServers       8(启动多少空闲进程)
                        MinSpareServers    5(最少空闲进程数)
                        MaxSpareServers   20(最大空闲进程)
                        ServerLimit      256(允许MaxClients最大启动的进程数量)
                        MaxClients       256(最大允许启动的进程数量)
                        MaxRequestsPerChild  4000(每个进程最多可处理多少请求,处理了4000个就要销毁此进程)
                        </IfModule>        
                
                    worker的配置:
                        <IfModule worker.c>
                        StartServers         4(启动多少空闲进程)
                        MaxClients         300(最大允许启动的进程数量)
                        MinSpareThreads     25(最少空闲进程数)
                        MaxSpareThreads     75(最多空闲进程数)
                        ThreadsPerChild     25(每个主进程最大可生成多少线程)
                        MaxRequestsPerChild  0(每个进程可处理无上限的请求)
                        </IfModule>                        
                
                PV,UV
                    PV:Page View(页面浏览量)
                    UV: User View(用户浏览量)

4、DSO(动态共享模块)
                配置指定实现模块加载
                    LoadModule  <mod_name>  <mod_path>(模块文件路径)
                    
                    模块文件路径可使用相对路径:
                        相对于ServerRoot(默认/etc/httpd)


5、  定义访问主文档页面路径

    # vim /etc/httpd/conf/httpd.conf

         DocumentRoot  " "

文档路径映射:
                    DoucmentRoot指向的路径为URL路径的起始位置
                        其相当于站点URL的根路径;

注意:重启服务进程方可生效

                         # service httpd restart 


6、站点访问控制常见机制
            
                可基于两种机制指明对哪些资源进行何种访问控制
                
                    文件系统路径:
                        <Directory  "">
                        ...
                        </Directory>
                        
                        <File  "">
                        ...
                        </File>
                        
                        <FileMatch  "PATTERN">
                        ...
                        </FileMatch>
                    URL路径:
                        <Location  "">
                        ...
                        </Location>
                        
                        <LocationMatch "">
                        ...
                        </LocationMatch>
                        
                <Directory>中“基于源地址”实现访问控制:
                    (1) Options
                        后跟1个或多个以空白字符分隔的“选项”列表;
                            Indexes:指明的URL路径下不存在与定义的主页面资源相符的资源文件时,返回索引列表给用户;(建议关掉)
                            FollowSymLinks:允许跟踪符号链接文件所指向的源文件(建议关掉);
                            None:一个也没有
                            All:全部
                        建议改为:Options  None    

                    (2)  AllowOverride(允许覆盖)
                        与访问控制相关的哪些指令可以放在.htaccess文件(每个目录下都可以有一个)中;
                            All: 全部
                            None:一个也没有
                        建议改为:AllowOverride  None        
                    (3) order和allow、deny拒绝
                        order:定义生效次序;写在后面的表示默认法则;
                        
                        Allow from来源地址, Deny from来源地址
                            来源地址:
                                IP
                                NetAddr:(网络地址)
                                    172.16
                                    172.16.0.0
                                    172.16.0.0/16
                                    172.16.0.0/255.255.0.0
                        1、e.g.设置为仅允许172.16网段的主机访问:Allow from 172.16    
                        2、e.g.Deny from 172.16.100.88
                            Allow from 172.16 

                      (仅允许172.16网段的主机访问,但 172.16.100.88这台不能访问)

7、定义站点主页面:
                DirectoryIndex  index.html  index.html.var(先找index.html没有找到,就找index.html.var)

8、定义路径别名
                格式:
                    Alias  /URL/  "/PATH/TO/SOMEDIR/"
            
                DocumentRoot "/www/htdocs"
                    http://www.magedu.com/download/bash-4.4.2-3.el6.x86_64.rpm
                        /www/htdocs/download/bash-4.4.2-3.el6.x86_64.rpm
                        
                Alias  /download/  "/rpms/pub/"
                    http://www.magedu.com/download/bash-4.4.2-3.el6.x86_64.rpm
                        /rpms/pub/bash-4.4.2-3.el6.x86_64.rpm
                        
                    http://www.magedu.com/images/logo.png
                        /www/htdocs/images/logo.png
                    
            9、设定默认字符集(为防止语言不通,响应的页面看不懂。)
                AddDefaultCharset  UTF-8
                
                中文字符集:GBK, GB2312, GB18030









           

httpd 配置

标签:httpd的配置

原文地址:http://11293309.blog.51cto.com/11283309/1769878

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