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

httpd2.4特性

时间:2015-09-21 01:48:03      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:get   mpm   httpd   mime   dso   

httpd-2.4:
    相比httpd2.2新特性:
        (1) MPM支持运行DSO机制;以模块形式按需加载;
        (2) 支持event MPM;
        (3) 支持异步读写;
        (4) 支持每模块及每个目录分别使用各自的日志级别;
        (5) 每请求配置;<If>
        (6) 增强版的表达式分析器;
        (7) 支持毫秒级的keepalive timeout;
        (8) 基于FQDN的虚拟主机不再需要NameVirtualHost指令;
        (9) 支持用户自定义变量;
    新模块:
        (1) mod_proxy_fcgi:快速cgi模块,cgi协议在讲解lamp的博客中有阐述(就是http实现动态网                页时,与应用程序交互的一种方式)
        (2) mod_ratelimit:限速使用
        (3) mod_remoteip:远端ip地址控制
    修改了一些配置机制:
        不再支持使用Order, Deny, Allow来做基于IP的访问控制;引入了新方法require


安装httpd-2.4                    
    httpd依赖于apr-1.4+, apr-util-1.4+, [apr-icon]
    apr: apache portable runtime:相当于apache与系统之间的兼容层,实现让同一个httpd软                件多平台运行,不用每个平台提供一种程序

CentOS 6:
    centos6默认:apr-1.3.9, apr-util-1.3.9 ------->安装httpd2.4之前需要先安装apr-1.4+,     

    apr-util-1.4+,[apr-icon],否则不兼容,但是尽量不要覆盖原先的1.3版本,会破坏其他程序
编译安装步骤:
    1.4+版的apr和apr-util
    前提:安装开发环境,安装pcre-devel
    (1) apr
    # ./configure --prefix=/usr/local/apr(注意这里不是/usr/local/防止覆盖之前的1.3版本)    

    # make && make install
    (2) apr-util
    # ./configure --prefix=/usr/local/apr-util --with=/usr/local/apr
    # make && make install
    (3) httpd2.4
    # groupadd -r apache
    # useradd -r -g apache apahce
    # ./configure --prefix=/usr/local/apache --sysconf=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
    # make && make install

    --enable-so:支持动态模块加载机制

    --enable-rewrite:只是URL重写

    --with-zlib:压缩算法库

    --with-pcre:perl扩展程序包

    --enable-mpms-shared:支持mpm共享模块机制

    --with-mpm:默认使用哪种mpm

    启动服务:
    apachectl

    启动脚本:复制rpm包安装的httpd程序启动脚本再修改某些参数

技术分享

CentOS 7:
    配置文件:
    主配置文件:/etc/httpd/conf/httpd.conf
    模块配置文件:/etc/httpd/conf.modules.d/*.conf
    辅助配置文件:/etc/httpd/conf.d/*.conf
    mpm:以DSO机制提供,配置文件00-mpm.conf
    服务控制:systemctl {start|stop|restart|status|reload} httpd.service
配置:
    (1) 切换使用MPM
    LoadModule mpm_NAME_module modules/mod_mpm_NAME.so
    NAME: prefork, event, worker
    (2) 修改‘Main‘ server的DocumentRoot
    (3) 基于IP的访问控制法则
    允许所有主机访问:Require all granted
    拒绝所有主机访问:Require all deny

    控制特定IP访问:

httpd2.4默认对于定义的网页目录针对所有人不允许访问,需要显式授权 Require all granted

    Require ip IPADDR:授权指定来源地址的主机访问
    Require not ip IPADDR:拒绝指定来源地址的主机访问
    IPADDR:
    IP: 172.16.100.2
    Network/mask: 172.16.0.0/255.255.0.0
    Network/Length: 172.16.0.0/16
    Net: 172.16
    控制特定主机(HOSTNAME)访问
    Require host HOSTNAME
    Require not host HOSTNAME
    HOSTNAME:
    FQDN: 特定主机
    DOMAIN:指定域内的所有主机
    示例:

    <RequireAll>
    Require all granted
    Require not ip 10.252.46.165
    </RequireAll>

    (4) 虚拟主机
    基于IP、Port和FQDN都支持;
    基于FQDN的不再需要NameVirtualHost指令;
对于centos7,在conf.d目录下创建虚拟主机配置文件来管理虚拟主机,方便管理,httpd.conf主配置文件中已经调用了conf.d下面的所有文件               

    (5) ssl启用模块:
    LoadModule ssl_module modules/mod_ssl.so





本文出自 “明天过后” 博客,请务必保留此出处http://leeyan.blog.51cto.com/8379003/1696545

httpd2.4特性

标签:get   mpm   httpd   mime   dso   

原文地址:http://leeyan.blog.51cto.com/8379003/1696545

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