Centos7.2安装Apache2.4

来源:互联网 发布:windows自带编译器 编辑:程序博客网 时间:2024/05/29 18:25

Apache HTTP Server 2.4中的新特性

官网:http://httpd.apache.org/download.cgi

运行时可加载的mpm
多个mpm现在可以构建为可加载模块在编译时间。MPM的选择可以在运行时通过配置 LoadModule指令。
MPM事件
MPM事件不再是实验但现在完全支持
异步支持
更好地支持异步读/写支持mpm和平台。
每个模块和每个目录记录级配置
记录等级现在可以配置每个模块和每个目录。新的水平,以trace8 TRACE1已添加上面的调试日志级别
每个请求配置部分
<If>, <ElseIf>, <Else>部分可用于设置基于每个请求的配置标准。
通用表达式解析器
一个新的表达式解析器允许指定复杂条件下使用一个常见的语法等指令 SetEnvIfExpr, RewriteCond, Header, <If>等等。
在以毫秒为单位
现在可以指定 KeepAliveTimeout以毫秒为单位。
NameVirtualHost指令
不再需要,现在弃用。
覆盖配置
 AllowOverrideList指令允许更细粒度的控制允许哪些指令 .htaccess文件。
配置文件的变量
现在可以 Define变量的配置,允许更明确表示如果使用相同的值在很多地方配置。
减少内存使用
尽管许多新功能,2.4。比2.2.x x倾向于使用更少的内存。

新模块;

mod_proxy_fcgi
对于mod_proxy FastCGI协议后端
mod_proxy_scgi
中小企业信用担保机构内部mod_proxy协议
mod_proxy_express
对于mod_proxy提供动态配置质量反向代理
mod_remoteip
取代视客户的远程IP地址和主机名为通过代理或通过请求头负载平衡器的IP地址列表的请求。
mod_heartmonitor,mod_lbmethod_heartbeat
让mod_proxy_balancer基地负载均衡决策对后端服务器的活动连接数。
mod_proxy_html
以前是第三方模块,它支持在反向代理的情况下修复HTML链接,后端生成URL,这些URL对代理客户机无效。
mod_sed
一种先进的mod_substitute置换,允许与全功率sed编辑响应体。
mod_auth_form
启用基于表单的身份验证。
mod_session
允许使用cookie或数据库存储来为客户端使用会话状态。
mod_allowmethods
限制某些HTTP方法而不干扰身份验证或授权的新模块。
mod_lua
嵌入lua语言为httpd、配置和小业务逻辑功能。(实验)
mod_log_debug
允许在请求处理的不同阶段添加可定制的调试日志记录。
mod_buffer
提供缓冲输入和输出筛选器堆栈。
mod_data
转换成一个rfc2397响应体数据的URL
mod_ratelimit
为客户端提供带宽限制
mod_request
提供处理和提供HTTP请求主体的筛选器。
mod_reflector
通过输出筛选器堆栈提供请求体作为响应的反射。
mod_slotmem_shm
提供基于插槽的共享内存提供程序(ALA记分板)。
mod_xml2enc
从前一个第三方的模块,这支持在基于libxml2国际化(标记清楚)滤波器模块。
mod_macro(自2.4.5)
在配置文件中提供宏。
mod_proxy_wstunnel(自2.4.5)
支持Web套接字隧道。
mod_authnz_fcgi(可从2.4.10)
使FastCGI authorizer应用程序的认证和/或授权客户。
mod_http2(自2.4.17)
支持HTTP / 2传输层。
mod_proxy_hcheck(自2.4.21)
支持独立的动态远程proxiy后端服务器的健康检查。

安装Apache2.4

操作系统:Centos7.2,关闭 selinux、防火墙、 检查 httpd 包是否安装,如查安装则卸载 
[root@gy ~]# setenforce 0
[root@gy ~]# systemctl stop firewalld.service 
[root@gy ~]# rpm -qa httpd

下载源码包;
httpd-2.4.23.tar.gz      apr-1.5.2.tar.gz      apr-util-1.5.4.tar.gz         zlib-1.2.8.tar.gz     pcre-8.39.tar.gz 
注:apr(Apache Portable Runtime)Apache 可移植运行库,它是一个对操作系统调用的抽 象库,用来实现 Apache 内部组件对操作系统的使用,提高系统的可移植性。 

安装apr和apr-util
[root@gy ~]# tar zxf apr-1.5.2.tar.gz 
[root@gy ~]# cd apr-1.5.2/
[root@gy apr-1.5.2]# ./configure --prefix=/usr/local/apr &&make &&make install
[root@gy ~]# tar zxf apr-util-1.5.4.tar.gz 
[root@gy ~]# cd apr-util-1.5.4/
[root@gy apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr &&make &&make install

安装 zlib 
[root@gy ~]# tar zxf zlib-1.2.8.tar.gz 
[root@gy ~]# cd zlib-1.2.8/
[root@gy zlib-1.2.8]# ./configure --prefix=/usr/local/zlib &&make &&make install

安装 pcre 
[root@gy ~]# tar zxf pcre-8.39.tar.gz 
[root@gy ~]# cd pcre-8.39/
[root@gy pcre-8.39]# ./configure --prefix=/usr/local/pcre && make &&make install

安装 openssl 
[root@gy ~]# tar zxf openssl-1.0.1u.tar.gz 
[root@gy ~]# cd openssl-1.0.1u/
[root@gy openssl-1.0.1u]# ./config -fPIC --prefix=/usr/local/openssl enable-shared &&make &&make install

安装 apache2.4.23 
[root@gy ~]# tar zxf httpd-2.4.23.tar.gz 
c[root@gy ~]# cd httpd-2.4.23/
[root@gy httpd-2.4.23]# ./configure --prefix=/usr/local/http-2.4.23 --enable-so --enable-cgi --enable-cgid --enable-ssl --with-ssl=/usr/local/openssl --enable-rewrite --with-pcre=/usr/local/pcre --with-z=/usr/local/zlib --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-fcgi --enable-expires --enable-deflate && make && make install

相关参数解释:
--enable-so:支持动态共享模块(即打开 DSO 支持) 
--enable-rewrite:支持 url 重写 
--enable-ssl:支持 ssl --with-ssl=/usr/local/openssl:指定 ssl 安装位置 
--enable-cgi:启用 cgi --enable-cgid:MPM 使用的是 event 或 worker 要启用 cgid 
--enable-modules=most:明确指明要静态编译到 httpd 二进制文件的模块,<MODULE-LIST>为 空格分隔的模块名列表、all 或者 most,all 表示包含所有模块,most 表示包含大部分常用模块 
--enable-mods-shared=most:明确指明要以 DSO 方式编译的模块,<MODULE-LIST>为空格分隔 的模块名列表、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:激活彧通过配置文件控制 HTTP 的“Expires:”和“Cache-Control:”头内容,即 对网站图片、js、css 等内容,提供客户端浏览器缓存的设置。这个是 apache 调优的一个重 要选项之一。 
--enable-deflate:提供对内容的压缩传输编码支持,一般是 html、js、css 等内容的站点。使 用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是 apache 调优 的一个重要选项之一。 

优化 http 程序执行路径 
[root@gy httpd-2.4.23]# ln -s /usr/local/http-2.4.23/bin/* /usr/local/bin/

修改配置文件 httpd.conf,设置其中的 ServerName 值 
例如:ServerName www.benet.com 
[root@gy ~]# vim /usr/local/http-2.4.23/conf/httpd.conf 



开启 apache 服务器: 
[root@gy ~]# /usr/local/http-2.4.23/bin/apachectl start

开机后自动启动;
[root@gy ~]# cp /usr/local/http-2.4.23/bin/apachectl /etc/init.d/httpd

编辑 /etc/init.d/httpd 文件,在首行 #!/bin/sh 下面加入两行: 
[root@gy ~]# vim /etc/init.d/httpd


将 Apache 加入开机自动启动;
[root@gy ~]# chkconfig --add httpd
[root@gy ~]# chkconfig  httpd on

启动编译好的 Apache 2.4.23: 
[root@gy ~]# systemctl restart httpd
[root@gy ~]# netstat -anpt | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      26169/httpd   

修改网页根目录
[root@gy ~]# vim /usr/local/http-2.4.23/htdocs/index.html

客户端访问ip地址;