lakers009 发表于 2018-11-26 13:35:45

apache2.4:apache的安装及其新特性

    小生博客:http://xsboke.blog.51cto.com
    小生 Q Q:1770058260


                              -------谢谢您的参考,如有疑问,欢迎交流
  一、 Apache2.4新特性
  1. 新增模块

[*]  


[*]  Mod_proxy_fcgi:提供fcgi代理
[*]  Mod_ratelimit:限制用户带宽
[*]  Mod_request:过滤客户机请求
[*]  Mod_remoteip:匹配客户端的IP

  2. 新特性

[*]  


[*]  Mpm(工作模式):支持工作模式在apache运行时更改
但是要开启这种特性,在编译安装要启用这三种功能:--enable-mpms-shared=all --with-mpm=event
[*]  完善了event模式
[*]  支持使用自定义变量
[*]  基于FQDN的虚拟主机不再需要NameVirtualHost指令
[*]  增强版的表达式分析器
[*]  支持异步读写
[*]  毫秒级别的keepalivetimeout

  二、 Apache2.4.23安装
  1. 安装包简介

[*]  


[*]  httpd-2.4.23.tar.gz:主程序包
[*]  apr-1.5.2.tar.gz:可移植运行库,用于支持httpd2.4
[*]  apr-util-1.5.4.tar.gz:apr的关联包
[*]  zlib-1.2.8.tar.gz:支持压缩算法
[*]  pcre-8.39.tar.gz:支持正则表达式
[*]  openssl-1.0.1u.tar.gz:为了支持加密传输,centos7.2默认安装1.0.1e版本,而apache2.4需要1.0.1u及以上版本支持

  2. 安装
   
   安装apr和apr-util


   安装zlib
   
   安装pcre
   
   安装openssl
   
   因为旧版本的openssl命令还存在,为了防止以后可能用到,暂时不删除,将旧版本的opensll执行
   脚本名称更改,然后将新版本的opensll脚本链接到/usr/bin/
   
   安装apache2.4.23
   

[*]  


[*]  --enable-so:支持动态加载模块(即打开DSO支持)
[*]  --enable-rewrite:支持地址重写
[*]  --enable-ssl:支持ssl加密
[*]  --with-ssl=/usr/local/openssl:指定ssl安装位置
[*]  --enable-cgi:启用cgi
[*]  --enable-cgid: 为了支持event和worker
[*]  --enable-modules=most:明确指明要静态编译到httpd二进制文件的模块,为空格分隔的模块名列表、all或者most,all表示包含所有模块,most表示包含大部分常用模块
[*]  --enable-mods-shared=most:明确指明要以DSO(动态)方式编译的模块,为空格分隔的模块名列表、all或者most,all表示包含所有模块,most表示包含大部分模块
[*]  --enable-mpms-shared=all:启用MPM所有支持的模式,这样event、worker、prefork就会以模块化的方式安装,要用哪个就在 httpd.conf 里配置就好了。
[*]  --with-mpm=event:指定启用的mpm模式,默认使用enevt模式,在apache的早期版本2.0默认prefork,2.2版本是worker,2.4版本是event.
[*]  --with-pcre=/usr/local/pcre:支持pcre
[*]  --with-z=/usr/local/zlib:使用zlib压缩库
[*]  --with-apr=/usr/local/apr:指定apr的安装路径
[*]  --with-apr-util=/usr/local/apr-util:指定apr-util的安装路径
[*]  --enable-expires:为客户端浏览器提供缓存功能
[*]  --enable-deflate:提供对内容的压缩传输编码支持
  
  


  3. 优化httpd程序执行路径

   软链接
   
   修改httpd.conf配置文件,设置ServerName的值
   
   配置httpd的脚本文件
   
   
   将httpd服务添加为系统服务,并且启动
   
   查看服务状态报错,提示lynx命令找不到,使用yum安装即可
   安装lynx后依旧报错:您没有在此服务器上访问/服务器状态的权限,如下图
   
   解决办法
   首先修改httpd主配置文件
   
   然后修改模版配置文件
   /usr/local/http-2.4.23/conf/extra/ httpd-info.conf
   
   然后修改httpd的脚本文件/etc/init.d/httpd,查看服务状态信息的时候使用的地址为本地回环地
   址(IP地址)
   

   最后开启防火墙例外
   
  三、 关于apache2.4新特性:DSO
   当apache在安装后,突然需要某个模块,但是这个模块没有安装;这时候我们有俩种方法解决,第一种就是卸载apache,然后在重装的时候添加此模块,第二种方法就是使用MPM新特性DSO,支持apache在运行时装载模块
  1. 首先解压apache源码包,并且找到模块的存放位置
  2. 然后使用命令“apxs-c-I -a模版名”安装模版
    -c编译,-i安装,-a在安装完成后,自动将配置参数添加到apache的配置文件中
  3.有些模版使用上面的命令可能装不上,这时使用命令“apxs -c -i -a -I    /usr/local/zlib/include模版名”安装即可
  4. 查看模版的命令
    Apachectl-l :只查看编译到httpd的二进制模版
    Apachectl-M:查看httpd已经安装的模版,status为静态,shared是动态
    Apachectl-t-D DUMP_MODULES:查看httpd已经安装的模版
  




页: [1]
查看完整版本: apache2.4:apache的安装及其新特性