共计 4170 个字符,预计需要花费 11 分钟才能阅读完成。
一、系统环境
系统版本:Aliyun Linux release 5.7
内核版本:2.6.18-274.el5
apr 版本:apr-1.4.8
apr-util 版本:apr-util-1.5.2
pcre 版本:pcre-8.33
Apache 版本:Apache/2.4.6 (Unix)
二、Apache 简介
Apache 作为历史最悠久的 web 服务器,一直是 web 应用系统的首选,是世界上被广泛应用的 web 服务器软件,它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 web 服务器端软件之一,也是流行架构 LAMP 的重要组成部分。
三、Apache 特点
•支持最新的 HTTP/1.1 通信协议。Apache 是最先使用 HTTP/1.1 协议的 Web 服务器之一,它完全兼容 HTTP/1.1 协议并与 HTTP/1.0 协议向后兼容。Apache 已为新协议所提供的全部内容做好了必要的准备。
•支持多计算机平台。Apache 几乎可以在所有的计算机操作系统上运行,包括主流的 UNIX、Linux 及 Windows 操作系统。
•配置文件简单,易操作。用户可以通过直接修改 Apache 的配置文件信息来修改 Apache,操作起来十分方便。
•支持实时监视服务器状态和定制服务器日志。Apache 在记录日志和监视服务器自身运行状态方面提供了很大的灵活性,可以通过 Web 浏览器来监视服务器的状态,也可以根据自己的需要来定制日志。
•支持多种方式的 HTTP 认证。
•支持 Web 目录修改。用户可以使用特定的目录作为 Web 目录。
•支持 CGI 脚本,如 Perl、PHP 等。
•支持服务器端包含指令(SSI)。
•支持安全 Socket 层(SSL)。
•支持 FastCGI。
•支持虚拟主机。即通过在一台服务器上使用不同的主机名来提供多个 HTTP 服务。Apache 支持基于 IP、主机名和端口号三种类型的虚拟主机服务。
•跟踪用户会话。当用户浏览基于 Apache 的 Web 站点时,可以通过 Apache 的 mod_usertrack 模块对其进行跟踪。
•支持动态共享对象。Apache 的模块可在运行时动态加载,这就意味着这些模块可以被装入服务器进程空间,从而减少系统的内存开销。
•支持多进程。当负载增加时,服务器会快速生成子进程来处理,从而提高系统的响应能力。
•支持第三方软件开发商提供的功能模块。比如 Apache 加载 mod_jserv 模块后可以支持 Java Servlet,这样就可以运行 Java 应用程序了。
•支持多线程和多进程混合模型的 MPM。当 MPM 类型指定为 worker 时,由于是使用线程来处理,所以可以处理海量的请求,而系统资源的开销要小于基于进程的服务器。
四、Apache2.4 新特性
1、MPM 支持在运行时装载
–enable-mpms-shared=all –with-mpm=event 启用默认的 event
2、支持 event
3、异步读写
4、在每模块及每目录上指定日志级别
5、每请求配置:<If> <Elseif>
6、增强版的表达式分析器
7、毫秒级的 keepalive timeout
8、支持主机名的虚拟主机不在需要 NameVirtualHost 指令
9、支持使用自定义变量
10、新增一些模块:mod_proxy_fcgi,mod_ratelimit,mod_request,mod_remoteip
11、对于基于 IP 的访问做了修改,不在使用 order,allow,deny 这些机制;而是统一使用 require 进行
五、安装前准备
1、安装 Apache 可移植运行库(apr:Apache portable runtime)
# tar -zxvf apr-1.4.8.tar.gz
# cd apr-1.4.8
# ./configure –prefix=/usr/local/apr
# make && make install
2、安装 Apache 可移植运行库工具包
# tar -zxvf apr-util-1.5.2.tar.gz
# cd apr-util-1.5.2
# ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr/
# make && make install
3、安装 PCRE(Perl Compatible Regular Expressions)Perl 库文件
# tar -zxvf pcre-8.33.tar.gz
# cd pcre-8.33
# ./configure –prefix=/usr/local/pcre
# make && make install
六、安装 Apache 服务器
# tar -zxvf httpd-2.4.6.tar.gz
# cd httpd-2.4.6
# ./configure –prefix=/usr/local/apache –enable-rewrite –enable-so –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util –with-pcre=/usr/local/pcre/ –enable-ssl –enable-deflate –enable-expires –with-mpm=event
# make && make install
参数简单说明:
–prefix=/usr/local/apache:apache 安装路径
–enable-rewrite:支持网站地址重写
–enable-so:支持动态加载模块
–with-apr=/usr/local/apr:apache 可移植库的路径
–enable-ssl:支持 ssl 加密
–enable-deflate:支持传输前进行压缩
–enable-expires:支持设置页面缓存时间
–with-mpm=prefork: 指定 Apache 的运行模式(本人的默认是 event)
–enable-modeles=most(常用的模块)
注:
•如果源码安装与 rpm 包安装方式共存需要进行的配置:
1、导出头文件
# ln -sv /usr/local/apache/include /usr/include/httpd
2、导出库文件
# ldconfig
# ldconfig -p
3、导出 man 手册
# vim /etc/man.config 加入
MANPATH /usr/local/apache/man
新版 httpd 的 man 帮助文件
# man -M /usr/local/apache/man httpd
4、输出二进制程序
# vim /etc/profile.d/httpd.sh 加入
export PATH=/usr/local/apache/bin:$PATH
. /etc/profile
启动 httpd 服务:apachectl start
•event MPM 对于老的 CPU 可能是不支持的
•本人编译的只添加了这些模块,如果有需要可以在编译过程中进行添加,或者重新编译
•编译前通过修改源码文件隐藏 Apache 服务器名称及版本号,然后再通过 httpd-default.conf 配置文件即可将版本信息隐藏
# vim include/ap_release.h
服务器供应商名称 Apache 软件基金会
#define AP_SERVER_BASEVENDOR “Apache Software Foundation”
服务的项目名称
#define AP_SERVER_BASEPROJECT “Apache HTTP Server”
服务的产品名称
#define AP_SERVER_BASEPRODUCT “Apache”
#define AP_SERVER_MAJORVERSION_NUMBER 2 主版本号
#define AP_SERVER_MINORVERSION_NUMBER 4 次版本号
#define AP_SERVER_PATCHLEVEL_NUMBER 6 修正号
下面关于 LAMP 相关 的内容你可能也喜欢:
LAMP 平台安装 Xcache 和 Memcached 加速网站运行 http://www.linuxidc.com/Linux/2015-06/118835.htm
CentOS 7 下搭建 LAMP 平台环境 http://www.linuxidc.com/Linux/2015-06/118818.htm
CentOS 6.5 系统安装配置 LAMP(Apache+PHP5+MySQL)服务器环境 http://www.linuxidc.com/Linux/2014-12/111030.htm
CentOS 7.2 yum 安装 LAMP 环境 http://www.linuxidc.com/Linux/2016-11/136766.htm
Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境 http://www.linuxidc.com/Linux/2014-10/107924.htm
Ubuntu 14.10 下安装 LAMP 服务图文详解 http://www.linuxidc.com/Linux/2014-12/110082.htm
LAMP 结合 NFS 构建小型博客站点 http://www.linuxidc.com/Linux/2015-08/121029.htm
CentOS7 下安装部署 LAMP 环境 http://www.linuxidc.com/Linux/2016-04/130653.htm
Ubuntu Server 14.04 LTS 下搭建 LAMP 环境图文详解 http://www.linuxidc.com/Linux/2016-12/138758.htm
Ubuntu Server 16.04 下配置 LAMP 环境 http://www.linuxidc.com/Linux/2016-12/138757.htm
Ubuntu 16.04 搭建 LAMP 开发环境 http://www.linuxidc.com/Linux/2016-10/136327.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/140006.htm