一、系统环境

系统版本: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 修正号

Apache2.4.6服务器安装及配置的更多相关文章

  1. Windows Server 2008 DNS服务器安装与配置

    Windows Server 2008 DNS服务器安装与配置本文关键字:Windows Server 2008 DNS.IIS 服务器安装与配置,DNS服务器本文来源:http://www.ip-t ...

  2. Apache2.2+Tomcat7.0整合配置详解

    一.简单介绍 Apache.Tomcat Apache HTTP Server(简称 Apache),是 Apache 软件基金协会的一个开放源码的网页服务器,可以在 Windows.Unix.Lin ...

  3. ftp服务器安装与配置

    ftp服务器安装与配置 1. ftp服务端的安装 1 如果之前配置过ftp服务器的还是之后配置的服务器,无法启动服务,那么基本是配置出现了错误,那么可先完全卸载后再进行安装.如果无法定位多半是镜像源的 ...

  4. Tomcat服务器安装、配置、测试

    Tomcat服务器安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.Tomcat服务器安装配置 4.Tomcat服务器简单测试 5.注意事项 >>看不清的图 ...

  5. linux下WEB服务器安装、配置VSFTP

    转载  http://www.oicto.com/centos-vsftp/?tdsourcetag=s_pcqq_aiomsg linux下WEB服务器安装.配置VSFTP 由 admin · 发布 ...

  6. [转载]Ubuntu下Git服务器安装与配置

    原文地址:Ubuntu下Git服务器安装与配置作者:F民抄 1. 安装 1.1 安装Git-Core: sudo apt-get install git-core 1.2 安装 Gitosis sud ...

  7. 笔记-git-git服务器安装及配置

    笔记-git-git服务器安装及配置 1.      GIT服务器简介 Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议.下面分别介绍一下哪些情形应该使 ...

  8. Ubuntu 下 Apache2 和 PHP 服务器环境配置

    Ubuntu 下 Apache2 和 PHP 服务器环境配置 1.简介 本文主要是 Ubuntu 下 Apache2 和 PHP 服务器环境配置方法,同样适用于 Debian 系统:Ubuntu 20 ...

  9. Apache2.2 + php-5.4.45-Win32-VC9-x86 配置

    首先要注意一个问题是:网上有很多教程比如: 在Apache配置文件中添加php模块.在apache2\conf\httpd.conf中: LoadModule模块添加行: LoadModule php ...

随机推荐

  1. android开发-mvp模式理解

    看之前,先忘掉所有,一步步看就行了. 最后会有一个原型demo,当然是转的了.看完文章,再看demo,然后再回头看文章就很好理解了,最好自己写一遍. 1.mvp开发模式可以理解为页面接口编程,每一层的 ...

  2. IOS中的Block与C++11中的lambda

    ios中的block 可以说是一种函数指针,但更确切的讲,其实际上其应该算是object-c对C++11中lambda的支持或者说是一个语言上的变体,其实际内容是一样的,C++的lambda我已经有简 ...

  3. HalconMFC(三)之打开图像_简单处理

    在VS2010中配置完halcon之后就得写个最简单的程序满足一下咱们的自信心呀! 第一步,新建MFC程序 最好是按照下面这么设置然后点击"完成",就不会报错 第二步,导出C++代 ...

  4. DataList无数据如何显示

    <FooterTemplate> <asp:Label runat="server" ID="emptyLb" Text="No D ...

  5. iOS 指定圆角个数

    需要实现的效果很明确,只要左上和右上两个地方圆角,以前都是通过layer 直接设置四个角都变成圆角,然后我就开始了强大的搜索功能 然后我就获得了我想要的东西 技术链接:http://www.xuebu ...

  6. ios手写代码添加控制器

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...

  7. 关于在工程中添加新文件时的LNK2019错误的一个解决办法

    我这几天一直在研究Qt的串口程序,在读懂了官方给出的实例程序后我决定把其多线程的串口监视程序加入到我自己的工程中,便直接把问价复制到自己的工程下面,在Qt中加入到自己的工程中,但是总是出现LNK201 ...

  8. 安装ant问题

    1  设置path, 在windwos 7下要重启 2  重启后,cmd----ant -version  Unable to locate tools.jar. Expected to find i ...

  9. [解决方案] pythonchallenge level 5

    l5=requests.get("http://www.pythonchallenge.com/pc/def/banner.p") body = l5.text lists = p ...

  10. 用户新加入Group

    Linux中一个user可以加入多个分组 以下以用户holmes为例,原始用户组为holmes,新加入用户组users 首先进入root模式 [holmes@KirCentOS share]$ su ...